SO私はWindowsフォームアプリケーションを持っています。選択したい食料品を示すテキストボックスがあります。選択できる 3 つのラジオ ボタンの回答と、その回答を送信するボタンがあります。私が欲しいのは、タブを使用してこれらのラジオボタンをナビゲートできるようにすることです。タブオーダーを試しましたが、うまくいきません。助言がありますか?
質問する
1884 次
1 に答える
1
Windows Forms では、タブでグループに移動することしかできません。これを回避する 1 つの方法は、ボタンのそれぞれの周りにグループ ボックスを配置して、すべてのボタンを個別のグループに入れることです。
これにより、それらをタブで移動することができますが、これらは切り離されており、自動的に選択解除されません。これを行うには、選択時に発生するイベントに登録し、プログラムで他の選択を解除します。
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 への移行を検討してください。
于 2012-10-06T09:41:59.220 に答える