微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何知道哪个单选button被检查?

我有这部分代码:(在一个button的点击事件)

foreach (RadioButton rb in grbFiltro.Controls.OfType<RadioButton>()) { if (((RadioButton)rb).Checked) { switch (true) { case rbt1.Checked: //do something break; case rbt2.Checked: //do something break; case rbt3.Checked: //do something break; } } }

但是在将单选button转换为string时出现错误 – > case rbt1.Checked

我该如何解决这个问题,或者我还能用什么?

c#听一个程序启动

嵌套批循环

如何以不同的用户运行两个exe可以使用COM(组件对象模型)

MinGW中没有fopencookie或fmemopen吗?

如何通过SMTP从C ++发送附件?

绕过/忽略“无audio设备”错误

启动mongod.exe / mongo.exe时出错0xc000007b

你如何在Windows上安装PyCairo(开罗for Python)?

计算点击次数显示在另一页上

如何在Windows中closures应用程序?

var rb = grbFiltro.Controls.OfType<RadioButton>() .SingleOrDefault(rb => rb.Checked.GetValueOrDefault()) as RadioButton; if (rb!=null) switch (rb.Name) { case "button1": //do something break; case "button2": //do something break; case "button3": //do something break; }

你有25个按钮,所以我可能会做类似的事情

IEnumerable<RadioButton> buttons = grbFiltro.Controls.OfType<RadioButton>()) ; foreach (var Button in buttons) { if (Button.Checked) { //Do Something } }

如果你需要对每个按钮做一些不同的事情,那么你会得到一个if / else链,它可以根据你的需要来做。 但是我猜测你将会存储所选择的价值,并且正在做一些事情。

您还可以在CheckedChange上添加一个监听器,并始终将当前选定的单选按钮存储在一个字段中。 然后你只需要读取这个值,一旦你点击了confirmmbutton。 如果您有超过10个单选按钮,这很方便

private RadioButton selectedButton; //handler for Radio Buttons. private void onRadioChange(Object sender,EventArgs e){ if (((RadioButton)sender).Checked) this.selectedButton = (RadioButton)sender; } // handler for confirm button. private void confirm(Object sender,EventArgs e){ MessageBox.show(selectedButton.name + " selected"); }

不管怎样,但是这个方法应该是可行的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐