Wie um Knöpfe in WinForm, in der Laufzeit?
Ich habe den folgenden Code :
public GUIWevbDav()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
try
{
//My XML Loading and other Code Here
//Trying to add Buttons here
if (DisplayNameNodes.Count > 0)
{
for (int i = 0; i < DisplayNameNodes.Count; i++)
{
Button folderButton = new Button();
folderButton.Width = 150;
folderButton.Height = 70;
folderButton.ForeColor = Color.Black;
folderButton.Text = DisplayNameNodes[i].InnerText;
Now trying to do GUIWevbDav.Controls.Add
(unable to get GUIWevbDav.Controls method )
}
}
Ich möchte ein Formular erstellen zur Laufzeit, aber fügen Sie die dynamisch erstellten buttons zu meinem Aktuellen Winform ich.e: GUIWevDav
Dank
InformationsquelleAutor Simsons | 2010-07-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Problem in deinem code ist, dass du versuchst zu nennen
Controls.Add()
Methode aufGUIWevbDav
was ist die Art Ihrer form, und Sie können nicht in den Griff bekommen.Add-on-Typ, es ist keine statische Methode. Es funktioniert nur auf Instanzen.InformationsquelleAutor this. __curious_geek
Verwenden Sie einfach
this.Controls.Add(folderButton)
.this
ist Ihre form.this
ist die richtige Antwort.Danke Petar, Aber m curiosu zu wissen, warum können wir nicht, wir verwenden die Bezeichnung des Formulars als 'dies' und 'GUIWevbDav" beziehen sich auf die gleiche form.
"this" ist ein Schlüsselwort für den Zugriff auf das aktuelle Objekt. Wenn Sie direkt "GUIWevbDav" dann arbeiten Sie nicht mit Instanzen von "GUIWevbDav" mehr und Sie Zugriff auf Ihre statische Mitglieder. Aber "Kontrolliert" ist kein statisches Element. Und Sie erhalten eine Fehlermeldung, natürlich. Lesen Sie mehr über statische hier in der MSDN-Website: msdn.microsoft.com/en-us/library/79b3xss3(VS.80).aspx
InformationsquelleAutor Petar Minchev
Müssen Sie die Arbeit mit
Kontrolle.Steuerelemente
Eigenschaft.In
Form-Klasse Mitglieder
sehen SieControls
Eigenschaft.Verwenden Sie es wie diese :
InformationsquelleAutor Incognito