C#中通过控件名进⾏控件操作的⽰例
C#中对于控件的使⽤是经常的,如何对控件进⾏控制交替的性的控制也是经常会遇到的问题。
笔者编程中发现,将控件的名字放到字符串中,然后通过Controls.Find()⽅法去到并强制转换,是很⽅便的。
例程如下:
控件的使用 定义字符串数组,⽤以存放控件名:
string[] strDC_double = { "DC_A_13", "DC_A_13", "DC_A_13", "DC_A_13", "DC_A_24", "DC_A_24", "DC_A_24", "DC_A_24", "DC_B_13","DC_B_13","DC_B_13","DC_B_13", "DC_B_24", "DC_B_24", "DC_B_24", "DC_B_24" };
在⽅法中操作如下:
Control[] st=this.Controls.Find(strDC_double[j], true);//将强制转换后的控件放到数组中
Daocha_2 ctrl = (Daocha_2)st[0];//获得控件数组中的第⼀个,即刚刚转换的那个控件
if (strProtocol[i] == '0' && i % 4 == 0)
{
ctrl.定反位上 = Daocha_2.DingFan.定位; //双动道岔上,定位
}
else if (strProtocol[i] == '1' && i % 4 == 0)
{
ctrl.定反位上 = Daocha_2.DingFan.反位; //双动道岔上,反位
}
else if (strProtocol[i] == '0' && i % 4 == 1)
{
ctrl.锁闭状态上 = Daocha_2.STATE.空闲; //双动道岔上,空闲
}
else if (strProtocol[i] == '1' && i % 4 == 1)
{
ctrl.锁闭状态上 = Daocha_2.STATE.锁闭; //双动道岔上,锁闭
}
else if (strProtocol[i] == '2' && i % 4 == 1)
{
ctrl.锁闭状态上 = Daocha_2.STATE.占⽤; //双动道岔上,占⽤
}
else if (strProtocol[i] == '0' && i % 4 == 2)
{
ctrl.定反位下 = Daocha_2.DingFan.定位; //双动道岔下,定位
}
else if (strProtocol[i] == '1' && i % 4 == 2)
{
ctrl.定反位下 = Daocha_2.DingFan.反位; //双动道岔下,反位
}
else if (strProtocol[i] == '0' && i % 4 == 3)
{
ctrl.锁闭状态下 = Daocha_2.STATE.空闲; //双动道岔下,空闲
}
else if (strProtocol[i] == '1' && i % 4 == 3)
{
ctrl.锁闭状态下 = Daocha_2.STATE.锁闭; //双动道岔下,锁闭
}
else if (strProtocol[i] == '2' && i % 4 == 3)
{
ctrl.锁闭状态下 = Daocha_2.STATE.占⽤; //双动道岔下,占⽤
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论