我想知道,如果选择一个语句的redio按钮将在button_click事件中执行,但我不知道我该怎么做。我希望像这样,但它不起作用。
private void butto1_Click (object sender, EventArgs e)
{
if (radioButton1.Checked == true)
{
MessageBox.Show ("radibutton1 selected");
// execute other statement
}
else if (radioButton2.Checked == true)
{
MessageBox.Show ("radibutton2 selected");
// execute other statement
}
}
如果我置于radiobutton CheckChanged事件中它正在工作,但我想在button_Click事件中。我找到并研究了很多,但仍然无法找到解决方案。
答案 0 :(得分:1)
你能把下面的一行检查一下吗?如果不是,则不要将按钮的点击事件设置为此功能:
private void butto1_Click (object sender, EventArgs e)
{
MessageBox.Show ("Button Clicked!");
// And this two line:
MessageBox.Show(radioButton1.Checked.ToString()); // true or false?
MessageBox.Show(radioButton2.Checked.ToString()); // true or false?
}
答案 1 :(得分:0)
如果单选按钮位于组中,即在面板中分组,则可以使用简单的Linq语句查找已选中的单选按钮。
var radioChecked = panel.Controls.OfType<RadioButton>().FirstOrDefault(r => r.Checked);
您只需
即可返回所有已检查单选按钮的列表var radioCheckedList = yourForm.Controls.OfType<RadioButton>().Where(r => r.Checked).ToList();
foreach(var radio in radioCheckedList)
{
if (radio.Name == "radio1")
{
// display something
}
else if (radio.Name == "radio2")
{
// display somnething
}
}