使用C#,我想創建兩個複選框之間的關係: 1. chk_PeelTrace
和2 chk_MoveTrace
, 只有一個複選框,可以同時進行檢查,因此,如果PeelTrace
開始爲真,我檢查MoveTrace
,然後MoveTrace
應該被檢查,而PeelTrace
應該被取消選中。切換C#複選框
但是,重要的是,它們應該可以同時取消選中。我嘗試了許多不同的東西;下面的示例中會列出其中一些替代方法。
無論我嘗試什麼,我都無法正常工作。我一直在遇到一個System.StackOverflowException但不知道爲什麼。任何想法或建議如何做到這一點?
private void chk_PeelTrace_CheckedChanged(object sender, EventArgs e)
{
////if (tracePeel)
//if (chk_PeelTrace.CheckState.Equals(CheckState.Checked))
if (chk_PeelTrace.Checked)
{
////tracePeel = false;
//chk_PeelTrace.CheckState = CheckState.Unchecked;
chk_PeelTrace.Checked = !chk_PeelTrace.Checked;
////traceMove = false;
//chk_MoveTrace.CheckState = CheckState.Unchecked;
chk_MoveTrace.Checked = false;
}
else
{
////traceMove = false;
//chk_MoveTrace.CheckState = CheckState.Unchecked;
chk_MoveTrace.Checked = false;
////tracePeel = true;
//chk_PeelTrace.CheckState = CheckState.Checked;
chk_PeelTrace.Checked = true;
}
}
private void chk_MoveTrace_CheckedChanged(object sender, EventArgs e)
{
//if (chk_MoveTrace.Checked == true)
////if (traceMove)
//if (chk_MoveTrace.CheckState.Equals(CheckState.Checked))
if (chk_MoveTrace.Checked)
{
////traceMove = false;
//chk_MoveTrace.CheckState = CheckState.Unchecked;
chk_MoveTrace.Checked = !chk_MoveTrace.Checked;
////tracePeel = false;
//chk_PeelTrace.CheckState = CheckState.Unchecked;
chk_PeelTrace.Checked = false;
}
else
{
////tracePeel = false;
//chk_PeelTrace.CheckState = CheckState.Unchecked;
chk_PeelTrace.Checked = false;
////traceMove = true;
//chk_MoveTrace.CheckState = CheckState.Checked;
chk_MoveTrace.Checked = true;
}
}
你說過; *一次只能激活一個複選框*。對於這種情況,使用單選按鈕而不是組框內的複選框。 – Irshad