winform控件请教 本帖最后由 william0992 于 2013-12-06 11:50:52 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Control c = this.Controls.Find("checkBox1", true)[0];(c as CheckBox).CheckedChanged += new EventHandler( (sender1, e1) => { // } );你控件每组控件考什么关联??是已经做了自定义控件?还是不同窗体都叫这些名字?如果没有什么关联性就得自己做对应了 没有什么关联,我就是名字起的相似:a,a1,a2;b,b1,b2;c,c1,c2;这样的而已,其中纯字母的是checkbox控件,字母后面带数字的是textbox控件。我也不知道怎么关联起来,知识都丢的差不多了我想做的是,如果a被选中,获取a的text值赋值给richtextbox控件,获取a1和a2的text值计算,计算结果赋值给tichtextbox控件;因为我有很多组这样的控件,我就想能不能直接写一个方法,遍历完checkbox一次搞定。然后,不知道怎么去实现了 有一种方法就是,在name勾选时,触犯一个事件用来更改name1和name2的勾选状态,以下是代码 private void checkBox1_CheckedChanged(object sender, EventArgs e) { try { if (this.name.Checked) { this.name1.Checked = true; this.name2.Checked = true; } } catch (Exception es) { MessageBox.Show(es.Message); } }这就可以了 Quote: 引用 5 楼 chenjiazheng009 的回复:额。name1和name2是textbox控件。 道理一样的呀,选中后,你对name1和name2进行操作不就行了,不知道名称可以在选中后 遍历当前页面控件 把字符串转换成控件名Control c=this.Controls.Find("controlname",true)[0];你只要把控件名的字符串拼好就行了 写个简单小例子private void button2_Click(object sender, EventArgs e){ for (int i = Convert.ToInt32('a'); i <= Convert.ToInt32('z'); i++) { test(this, Convert.ToChar(i).ToString(), Convert.ToChar(i) + "1", Convert.ToChar(i) + "2"); }}void test(Form frm, string chk, string txt1, string txt2){ Control c = frm.Controls.Find(chk, true)[0]; (c as CheckBox).CheckedChanged += new EventHandler( (sender1, e1) => { (frm.Controls.Find(txt1, true)[0] as TextBox).Text = "啦啦啦"; (frm.Controls.Find(txt2, true)[0] as TextBox).Text = "德玛西亚"; } );} 你把第一组的名称定义成一个枚举或数组定义一控件参数循环调出{ for(1...N) 用this.FINDCO..后面忘了 按名字找到这个控件 然后赋值(取数也一样)} C#监控本程序的网络流量 MultiPage中添加PageView问题 数据库路径问题,谢谢解答,在线等。 紧急问题!如何用C#实现五笔首字母查询? 怎么获取另一个应用程序中的按钮点击事件?高手都来看看啊。。。 ******$$$$$$$---20分求一句SQL语句。数据库人才请进。 请教.net实现分布式异构数据库事务 string怎么转换成char 如何使DataGird中的某一列宽度不能修改? 超级菜鸟问题:C#中回车符怎么表示? 怎么样C#语句更改数据库某一列的数据类型(列有默认值) 一条SQL语句不知道怎么写 ,求助
Control c = this.Controls.Find("checkBox1", true)[0];
(c as CheckBox).CheckedChanged += new EventHandler(
(sender1, e1) =>
{
//
}
);你控件每组控件考什么关联??
是已经做了自定义控件?
还是不同窗体都叫这些名字?
如果没有什么关联性就得自己做对应了
其中纯字母的是checkbox控件,字母后面带数字的是textbox控件。
我也不知道怎么关联起来,知识都丢的差不多了
我想做的是,如果a被选中,获取a的text值赋值给richtextbox控件,获取a1和a2的text值计算,计算结果赋值给tichtextbox控件;
因为我有很多组这样的控件,我就想能不能直接写一个方法,遍历完checkbox一次搞定。
然后,不知道怎么去实现了
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
try
{
if (this.name.Checked)
{
this.name1.Checked = true;
this.name2.Checked = true;
}
}
catch (Exception es)
{
MessageBox.Show(es.Message);
}
}这就可以了
Control c=this.Controls.Find("controlname",true)[0];
你只要把控件名的字符串拼好就行了
{
for (int i = Convert.ToInt32('a'); i <= Convert.ToInt32('z'); i++)
{
test(this, Convert.ToChar(i).ToString(), Convert.ToChar(i) + "1", Convert.ToChar(i) + "2");
}
}void test(Form frm, string chk, string txt1, string txt2)
{
Control c = frm.Controls.Find(chk, true)[0];
(c as CheckBox).CheckedChanged += new EventHandler(
(sender1, e1) =>
{
(frm.Controls.Find(txt1, true)[0] as TextBox).Text = "啦啦啦";
(frm.Controls.Find(txt2, true)[0] as TextBox).Text = "德玛西亚";
}
);
}
定义一控件参数
循环调出
{
for(1...N)
用this.FINDCO..后面忘了 按名字找到这个控件
然后赋值(取数也一样)
}