是这样的,比如说我有一组button控件,名称为 a1,a2,a3
我想用"a"+"1"这个字串来获得a1控件的句柄以便对它进行操作.目前我是这样做的:
button mybutton=button[3];for(int i=0;i<mybutton.Length;i++)
{
if(mybutton[i].name=="a"+"1")
{
MessageBox.show("就是这个");
}
}大概这样可以得到name为a1的控件的句柄,但我以前用javascript的时候有一个函数eval(),可以把括号中的字串直接转换为页面中的控件,我想C#中也应该有这样的函数;高手,请指教一下啦!跪谢!!
我想用"a"+"1"这个字串来获得a1控件的句柄以便对它进行操作.目前我是这样做的:
button mybutton=button[3];for(int i=0;i<mybutton.Length;i++)
{
if(mybutton[i].name=="a"+"1")
{
MessageBox.show("就是这个");
}
}大概这样可以得到name为a1的控件的句柄,但我以前用javascript的时候有一个函数eval(),可以把括号中的字串直接转换为页面中的控件,我想C#中也应该有这样的函数;高手,请指教一下啦!跪谢!!
我记得控件里直接有个根据名称找控件的方法。在webform里有个FindControl函数
但是在winform里,据我所知还没有这样的函数。
for(int i=0;i<this.Controls.Count;i++)
{
if(this.Controls[i].Name=="a"+"1")
{
MessageBox.show("就是这个");
}
}
webform里的那个findcontrol方法我也找到了,但需要什么名称空间,我没找到那个名称空间.好啦试一下!跪谢!其实我是想做一个俄罗斯方块来的,就是想用button来实现.
getControl(),参数是一个字串,我可以用以下方式得到一个控件的句柄:Control mycontorl=getControl("a"+1);之后,就可以对这个控件进行操作了,比如:mycontorl.Text="这就是我要的";如果有getControl()这样的函数最好了....
this.Page.FindControl或者this.TextBox1.FindControl跟在控件后
{
foreach(Control c in this.Controls)
{
if (c.Name == name)
{
return c;
}
}
return null;
}
这个函数可以返回当前窗体上名称为name的控件