0
請仔細閱讀問題,因爲它不是重複的。 我有一個winforms應用程序我C#巫婆有一個tabcontrol有3個選項卡。 每個標籤有4個單選按鈕。 如果我運行該應用程序,單選按鈕在相同的選項卡內工作正常,但是當我選擇另一個選項卡時,選擇將保留在第一個選項卡中。 我試圖在更改標籤時清除所有選中的單選按鈕,但由於某些原因它不起作用。 的代碼使用方法是:選擇不同tabcontrol時的單選按鈕
private void UncheckLayouts(TabPage activePage)
{
foreach (Control control in tabControl1.Controls)
{
if (control is RadioButton)
{
RadioButton rb = control as RadioButton;
rb.Checked = false;
}
}
}
private void radioButton1_Click(object sender, EventArgs e)
{
UncheckLayouts(tabControl1.SelectedTab);
}
private void radioButton2_Click(object sender, EventArgs e)
{
UncheckLayouts(tabControl1.SelectedTab);
}
...
我想這樣太:
private void tabControl1_Deselecting(object sender, TabControlCancelEventArgs e) {
foreach (var ctrl in e.TabPage.Controls) {
if (ctrl is RadioButton) {
RadioButton tb = ctrl as RadioButton;
rb.Checked = false;
}
}
}
編輯: 新代碼。
public Form2()
{
InitializeComponent();
tabControl1.Selected += TabControl1_Selected;
}
private void TabControl1_Selected(object sender, TabControlCancelEventArgs e)
{
foreach (var ctrl in e.TabPage.Controls)
{
if (ctrl is RadioButton)
{
RadioButton tb = ctrl as RadioButton;
tb.Checked = false;
}
}
}
但是沒有解決方案。 所有單選按鈕都與設計師一起添加到每個選項卡。
任何人都可以幫忙。 由於提前,
嗨, 感謝您的幫助。 我試過你的代碼,但在行'tabControl1.Selected + = TabControl1_Selected;''沒有重載'TabControl1_Selected'匹配委託'TabControlEventHandler'\t' – septaug
'我沒有超載我的文章與您的解決方案,是嗎? 我仍然得到'tabControl1.Selected + = TabControl1_Selected;' – septaug
錯誤,我很抱歉,我複製了錯誤的代碼,我已經修復了我的代碼 –