gpt4 book ai didi

c# - WinForm - 不允许将单选按钮切换到

转载 作者:行者123 更新时间:2023-11-30 22:37:46 26 4
gpt4 key购买 nike

由于 TabStop 在 RadioButtons 上不起作用(参见链接的问题),我如何才能防止 (WinForm) RadioButton 被标签化,同时还允许用户单击 RadioButton,而无需选项卡焦点跳到别处。

我读过 this所以我认为以下方法可行:

        rbFMV.Enter += (s, e) => focusFirstWorkflowButton();
rbFMV.MouseUp += (s, e) => rbFMV.Focus();

但事实并非如此。当我点击 RB 时,焦点跳开,并且不会回到鼠标上。

有什么肮脏的解决方法吗?

最佳答案

尝试这样的事情:

在表单的构造函数中将单选按钮的 TabStop 属性设置为“false”。然后将以下事件处理程序附加到单选按钮的 CheckedChanged 事件。

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
radioButton1.TabStop = false;
radioButton2.TabStop = false;
}

private void radioButton1_CheckedChanged(object sender, EventArgs e)
{
radioButton1.TabStop = false;
radioButton2.TabStop = false;
}

private void radioButton2_CheckedChanged(object sender, EventArgs e)
{
radioButton1.TabStop = false;
radioButton2.TabStop = false;
}

}

您也可以使用 lambda 附加这些事件处理程序,如您在问题中所示。

但这里的重点是,无论何时选中/取消选中单选按钮,它的 tabstop 属性也会同时修改。因此,每次发生该事件时都需要将其设置为 false。

关于c# - WinForm - 不允许将单选按钮切换到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6364245/

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