写个公共函数吧,如下: public static Button GetButton(string pButtonName,Form pForm) { foreach (Control c in pForm.Controls) { if (c.Name=pButtonName && c is Button) return (Button)c; } } 在窗体中调用: for(int i=1;i<=10;i++) { GetButton("Button"+i.ToString(),this).Text="XXXX"; }
--->和这这个问题没有关系
你可以用一个数组,或者是一个arraylist来管理你的这些个button
arrayList.Add(this.button1);
((Button)Arr[i]).Text=""
这不失为一个好办法,TKS!
有没有一个转换函数像FOXPRO那样用一个符号&"button1"就可以把它转换为一个控件实例了?
public static Button GetButton(string pButtonName,Form pForm)
{
foreach (Control c in pForm.Controls)
{
if (c.Name=pButtonName && c is Button)
return (Button)c;
}
}
在窗体中调用:
for(int i=1;i<=10;i++)
{
GetButton("Button"+i.ToString(),this).Text="XXXX";
}
Type t = this.GetType();
for (int i = 1; i <= 10; i++) {
FieldInfo fi = t.GetField("Button"+i,
BindingFlags.Instance|BindingFlags.NonPublic|BindingFlags.Public);
if (fi != null) {
Button btn = (Button) fi.GetValue(this);
btn.Text = "value";
}
}不过上面这些方法都发时间,最好还是直接写:
Button1.Text = ...;
Button2.Text = ...;
......
for(control ctr in this.controls)
{
if (ctr.tag= && ctr is Button))ctr.Text="";
}