繁体   English   中英

显示是否在button_click事件中选择了单选按钮

[英]Displaying whether the radio button selected in button_click event

我想知道是否如果选择了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
        }

    }

如果我将其放置在单选按钮CheckChanged事件中,则可以正常工作,但我希望在button_Click事件中。 我已经找到并进行了大量研究,但仍然找不到解决方案。

您可以像下面这样放置一行以检查它是否显示? 如果不是,则不要将按钮的click事件设置为此功能:

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?
}

如果单选按钮在组中,即分组在面板中,则可以使用简单的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
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM