groupbox控件有么有更改里面的控件时发生的事件?

wu38607 2016-05-25 09:31:01
比如groupbox里面有几个cheakbox,当我点击它时发生的groupbox事件。
...全文
563 12 打赏 收藏 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 11 楼 wu38607 的回复:
[quote=引用 9 楼 Libby1984 的回复:] [quote=引用 8 楼 wu38607 的回复:] [quote=引用 7 楼 Libby1984 的回复:] 所有的checkbox都注册相同的Checked事件,当点击其中一个的时候就遍历所有的checkbox的选中状态,除了当前这个以外如果已经有两个被选中了,就将触发Checked事件的checkbox设为没有选中。
"所有的checkbox都注册相同的Checked事件" 请问该如何操作呢?[/quote] 比如你在GroupBox里面放了2个CheckBox,分别命名为cb1和cb2,有一个相应Checked事件的方法为private void CheckBox_Checked(object sender, RoutedEventArgs e)。你可以这么注册: cb1.Checked += new RoutedEventHandler(CheckBox_Checked); cb2.Checked += new RoutedEventHandler(CheckBox_Checked); 然后在CheckBox_Checked里面遍历所有的CheckBox,看选择了几个。[/quote] 出现了个问题,比如我在cb1里面注册的话,当我点击cb1的话,它会执行两次。[/quote] 应该是两次设置了cb1的IsChecked的值,每次将IsChecked的值从false改为true都会触发Checked事件,你检查下。
wu38607 2016-05-26
  • 打赏
  • 举报
回复
引用 7 楼 Libby1984 的回复:
所有的checkbox都注册相同的Checked事件,当点击其中一个的时候就遍历所有的checkbox的选中状态,除了当前这个以外如果已经有两个被选中了,就将触发Checked事件的checkbox设为没有选中。
"所有的checkbox都注册相同的Checked事件" 请问该如何操作呢?
huazhu60400 2016-05-26
  • 打赏
  • 举报
回复
private void groupBox1_xxx(object sender, EventArgs e) //就是这个想要这个事件。 { int a=0; foreach(Control ctl in this.groupBox1.Controls ) { CheckBox grb = ctl as 60400comCheckBox; if (grb.checked) { a++; } if(a>2) { grb.Checked=false; grb.Enabled=false; } } }
  • 打赏
  • 举报
回复
所有的checkbox都注册相同的Checked事件,当点击其中一个的时候就遍历所有的checkbox的选中状态,除了当前这个以外如果已经有两个被选中了,就将触发Checked事件的checkbox设为没有选中。
Poopaye 2016-05-26
  • 打赏
  • 举报
回复
那在checkbox的事件里运行效果不也是一样的吗?
wu38607 2016-05-26
  • 打赏
  • 举报
回复
引用 9 楼 Libby1984 的回复:
[quote=引用 8 楼 wu38607 的回复:] [quote=引用 7 楼 Libby1984 的回复:] 所有的checkbox都注册相同的Checked事件,当点击其中一个的时候就遍历所有的checkbox的选中状态,除了当前这个以外如果已经有两个被选中了,就将触发Checked事件的checkbox设为没有选中。
"所有的checkbox都注册相同的Checked事件" 请问该如何操作呢?[/quote] 比如你在GroupBox里面放了2个CheckBox,分别命名为cb1和cb2,有一个相应Checked事件的方法为private void CheckBox_Checked(object sender, RoutedEventArgs e)。你可以这么注册: cb1.Checked += new RoutedEventHandler(CheckBox_Checked); cb2.Checked += new RoutedEventHandler(CheckBox_Checked); 然后在CheckBox_Checked里面遍历所有的CheckBox,看选择了几个。[/quote] 出现了个问题,比如我在cb1里面注册的话,当我点击cb1的话,它会执行两次。
wu38607 2016-05-26
  • 打赏
  • 举报
回复
引用 9 楼 Libby1984 的回复:
[quote=引用 8 楼 wu38607 的回复:] [quote=引用 7 楼 Libby1984 的回复:] 所有的checkbox都注册相同的Checked事件,当点击其中一个的时候就遍历所有的checkbox的选中状态,除了当前这个以外如果已经有两个被选中了,就将触发Checked事件的checkbox设为没有选中。
"所有的checkbox都注册相同的Checked事件" 请问该如何操作呢?[/quote] 比如你在GroupBox里面放了2个CheckBox,分别命名为cb1和cb2,有一个相应Checked事件的方法为private void CheckBox_Checked(object sender, RoutedEventArgs e)。你可以这么注册: cb1.Checked += new RoutedEventHandler(CheckBox_Checked); cb2.Checked += new RoutedEventHandler(CheckBox_Checked); 然后在CheckBox_Checked里面遍历所有的CheckBox,看选择了几个。[/quote] 谢谢,成功了,虽然我还不大懂标准事件,但还是照猫画虎做好了。
  • 打赏
  • 举报
回复
引用 8 楼 wu38607 的回复:
[quote=引用 7 楼 Libby1984 的回复:] 所有的checkbox都注册相同的Checked事件,当点击其中一个的时候就遍历所有的checkbox的选中状态,除了当前这个以外如果已经有两个被选中了,就将触发Checked事件的checkbox设为没有选中。
"所有的checkbox都注册相同的Checked事件" 请问该如何操作呢?[/quote] 比如你在GroupBox里面放了2个CheckBox,分别命名为cb1和cb2,有一个相应Checked事件的方法为private void CheckBox_Checked(object sender, RoutedEventArgs e)。你可以这么注册: cb1.Checked += new RoutedEventHandler(CheckBox_Checked); cb2.Checked += new RoutedEventHandler(CheckBox_Checked); 然后在CheckBox_Checked里面遍历所有的CheckBox,看选择了几个。
wu38607 2016-05-25
  • 打赏
  • 举报
回复
引用 3 楼 shingoscar 的回复:
[quote=引用 2 楼 wu38607 的回复:] [quote=引用 1 楼 shingoscar 的回复:] 没有这样的事件
自己能写出这种事件吗?[/quote] checkbox的事件满足不了你吗?[/quote] 我有很多个cheakbox,我想限制它只能任意点其中两个。 private void groupBox1_xxx(object sender, EventArgs e) //就是这个想要这个事件。 { int a=0; foreach(Control ctl in this.groupBox1.Controls ) { CheckBox grb = ctl as CheckBox; if (grb.checked) { a++; } if(a>2) { grb.Checked=false; grb.Enabled=false; } } }
Poopaye 2016-05-25
  • 打赏
  • 举报
回复
引用 2 楼 wu38607 的回复:
[quote=引用 1 楼 shingoscar 的回复:] 没有这样的事件
自己能写出这种事件吗?[/quote] checkbox的事件满足不了你吗?
wu38607 2016-05-25
  • 打赏
  • 举报
回复
引用 1 楼 shingoscar 的回复:
没有这样的事件
自己能写出这种事件吗?
Poopaye 2016-05-25
  • 打赏
  • 举报
回复
没有这样的事件

111,128

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧