SixDark
Erfahrenes Mitglied
Hallo!
Ich bin gerade dabei etwas zu experimentieren mit der dynamischen Erstellung von Steuerelementen zur Laufzeit. Nun ist es so, dass ich nicht so recht weiß, wie ich das Steuerelement "casten" soll...
Hier mal mein experiementeller Code:
In der obersten Methode erstelle ich eine neue Instanz einer TextBox in einem Object.
In der zweiten Methode baue ich dann den rest herum um die TextBox anzuzeigen.
Aber so ist das Ganze wirklich nicht besonders toll. Ich komme aber irgendwie nicht auf einen vernünftigen Ansatz.
Hat jemand vielleicht eine Idee wie man das Ganze besser machen könnte?
Im Prinzip geht es um folgendes Ziel: Ich möchte eine WindowsForm erstellen, auf der ich Controls anordnen kann zur Laufzeit. Also so etwas in der Art wie der Designer im VisualStudio. Dazu möchte ich natürlich nicht die Standard-Controls benutzen, sondern später dann davon abgeleitete und veränderte...
Ich hoffe jemand hat eine Idee dazu...
Vielen Dank!
..::SD::..
Ich bin gerade dabei etwas zu experimentieren mit der dynamischen Erstellung von Steuerelementen zur Laufzeit. Nun ist es so, dass ich nicht so recht weiß, wie ich das Steuerelement "casten" soll...
Hier mal mein experiementeller Code:
Code:
private void button2_Click(object sender, EventArgs e)
{
AppDomain currentDomain = AppDomain.CurrentDomain;
object o = null;
o = currentDomain.CreateInstanceFromAndUnwrap("C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727\\System.Windows.Forms.dll", "System.Windows.Forms.TextBox");
string typename = o.GetType().FullName;
this.txtAssemblyInfo.Text = typename;
this.CreateNewControl(o, o.GetType().FullName);
}
private void CreateNewControl(object control, string type)
{
if (type == "System.Windows.Forms.TextBox")
{
TextBox tb = (TextBox)control;
tb.Name = tb.GetType().Name.ToString() + (this.Controls.Count + 1).ToString();
tb.Location = new Point(20,50);
tb.Size = new Size(200,12);
tb.Text = "Created with Activator.CreateInstance";
this.Controls.Add(tb);
}
}
In der obersten Methode erstelle ich eine neue Instanz einer TextBox in einem Object.
In der zweiten Methode baue ich dann den rest herum um die TextBox anzuzeigen.
Aber so ist das Ganze wirklich nicht besonders toll. Ich komme aber irgendwie nicht auf einen vernünftigen Ansatz.
Hat jemand vielleicht eine Idee wie man das Ganze besser machen könnte?
Im Prinzip geht es um folgendes Ziel: Ich möchte eine WindowsForm erstellen, auf der ich Controls anordnen kann zur Laufzeit. Also so etwas in der Art wie der Designer im VisualStudio. Dazu möchte ich natürlich nicht die Standard-Controls benutzen, sondern später dann davon abgeleitete und veränderte...
Ich hoffe jemand hat eine Idee dazu...
Vielen Dank!
..::SD::..