gpt4 book ai didi

windows - 有没有更有效的方法来设置 RadioButton 的 CheckChanged 事件的变量?

转载 作者:可可西里 更新时间:2023-11-01 10:51:15 24 4
gpt4 key购买 nike

我的应用程序中有 16 个单选按钮..我必须根据选择的变量设置一个变量..我已经为此生成了一些非常丑陋的代码..

private void Foo_CheckedChanged(object sender, EventArgs e)
{
convertSource = 1;
}

private void Bar_CheckedChanged(object sender, EventArgs e)
{
convertSource = 2;
}

private void Baz_RadioButton_CheckedChanged(object sender, EventArgs e)
{
convertSource = 3;
}

现在,我一直在考虑它,老实说,我认为可能有一种方法可以通过开关来实现。我只是无法在脑海中将其概念化。

如果有人能告诉我更有效的方法,我将不胜感激。这么简单的事情却占用了五十到七十行代码,这真让我烦恼。

谢谢,卡顿

最佳答案

就我个人而言,如果有超过 2 或 3 个选择,我讨厌单选按钮 - ComboBox 是从多个选项中选择一个选项的更好控件。

但是,快速解决问题的方法是将每个单选按钮的 convertSource 值放入该控件的 Tag 属性中(在设计器中执行此操作)。将此方法添加到您的表单中:

private void rb_CheckedChanged(object sender, EventArgs e) 
{
convertSource = (int)((RadioButton)sender).Tag;
}

在表单的加载事件中(假设这些单选按钮都在一个分组框中),像这样分配处理程序:

foreach (RadioButton rb in groupBox1.Controls)
{
rb.CheckedChanged += rb_CheckedChange;
}

确保删除所有手动添加的事件处理程序(如 Foo_CheckedChanged)。

关于windows - 有没有更有效的方法来设置 RadioButton 的 CheckChanged 事件的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2542364/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com