所以我有一个Windows表单应用程序,有一个文本框告诉你要选择什么杂货。您可以选择 3 个单选按钮答案和一个提交该答案的按钮。我想要的是能够使用选项卡浏览这些单选按钮。我已经尝试了选项卡顺序的事情,但它不起作用。有什么建议吗?
Windws Forms 只允许您按 Tab 键进入组。破解它的一种方法是通过在每个按钮周围放置组框来将所有按钮放在单独的组中。
尽管这允许您按 Tab 键浏览它们,但它们现在是脱节的,不会自动取消选择。为此,请注册在选择时触发的事件,并以编程方式取消选择其他事件。
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
private List<RadioButton> allMyButtons;
public Form1()
{
InitializeComponent();
allMyButtons = new List<RadioButton>
{
radioButton1,
radioButton2
};
}
private void radioButton_CheckedChanged(object sender, EventArgs e)
{
RadioButton sendingRadio = (sender as RadioButton);
if(sendingRadio == null) return;
if(sendingRadio.Checked == true){
foreach(var rb in (from b in allMyButtons where b != sendingRadio select b))
{
rb.Checked = false;
}
}
}
}
}
我测试了这种方法,它似乎可以完成这项工作。
形式不是现代的做事方式。请考虑迁移到 WPF 以执行新项目。