gpt4 book ai didi

c# - 是否有多种方法可以在 Windows 窗体中对单选按钮进行分组?

转载 作者:行者123 更新时间:2023-11-30 16:59:52 24 4
gpt4 key购买 nike

我的表单中有几个单选按钮应该全部连接,但我希望其中一个位于单独的容器中,以便将其与其他一些相关输入专门分组。这是一般的外观:

Radio Button Inputs

有没有办法将第四个单选按钮与其他 3 个单选按钮组合在一起,即使它在自己的组合框中?

最佳答案

单选按钮只有在同一个父级中时才互斥。据说我可以想到两种选择。

  1. 让他们在同一个父级,处理父级的 Paint 事件并手动绘制自己,给人一种他们是不同组的印象。
  2. 你必须手动管理互斥:(

RadioButtons 没有魔法,它们只是在幕后将其他 radio 的 Checked 属性设置为 false。

private List<RadioButton> radioButtons = new List<RadioButton>();
//Populate this with radios interested, then call HookUpEvents and that should work

private void HookUpEvents()
{
foreach(var radio in radioButtons)
{
radio.CheckedChanged -= PerformMutualExclusion;
radio.CheckedChanged += PerformMutualExclusion;
}
}

private void PerformMutualExclusion(object sender, EventArgs e)
{
Radio senderRadio = (RadioButton)sender;
if(!senderRadio.Checked)
{
return;
}
foreach(var radio in radioButtons)
{
if(radio == sender || !radio.Checked)
{
continue;
}
radio.Checked = false;
}
}

关于c# - 是否有多种方法可以在 Windows 窗体中对单选按钮进行分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23065382/

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