Wie deklariere ich eine DataGridView über einen String (Reflection)

19/10/2007 - 14:59 von Ralph Hüttenmoser | Report spam
Guten Nachmittag
Ich habe mehrere DataGridViews in einem GUI. Gerne will ich die jeweiligen DataGridViews über einen String (string myControl =
"dgMeinDataGridView1")deklarieren.

Mache ich das über Reflection. Kann mir jemand einen Tipp oder sogar ein Beispiel geben?

Vielen Dank Ralph
 

Lesen sie die antworten

#1 Frank Dzaebel
19/10/2007 - 15:56 | Warnen spam
Hallo Ralph,

Ich habe mehrere DataGridViews in einem GUI. Gerne
will ich die jeweiligen DataGridViews über einen
String (string myControl = "dgMeinDataGridView1")
deklarieren.
Mache ich das über Reflection. Kann mir jemand
einen Tipp oder sogar ein Beispiel geben?



Da braucht man eigentlich keine Reflection dazu.
Reflection möglichst auch nur dann benutzen, wenn
unbedingt nötig, quasi wenn andere Verfahren ausscheiden.
Etwa:

private void Form1_Load(object sender, EventArgs e)
{
FlowLayoutPanel flp = new FlowLayoutPanel();
flp.Dock = DockStyle.Fill;
for (int i=1; i<=3; i++)
{
DataGridView dgv = new DataGridView();
dgv.Name = "myDgv" + i.ToString();
dgv.Width = 100; dgv.Height = 100;
dgv.Columns.Add("Name","Name");
flp.Controls.Add(dgv);
}
this.Controls.Add(flp);
string test = flp.Controls[1].Name;
}


Auch das Zugreifen über folgendes ist ggf. möglich:

foreach (Control ctl in this.Controls)
{ DataGridView dgv = ctl as DataGridView;
if (dgv != null) MessageBox.Show(dgv.Name);
}

Oder Du meinst eine wirkliche Deklarartion über CodeDom.

[Einen String zur Laufzeit als Befehl auführen]
http://groups.google.com/group/micr...0aa50a1e2d

[Kurzreferenz zum CodeDOM]
http://msdn2.microsoft.com/de-de/li...fsbhc.aspx


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen