如何使用另一个单选按钮替换已在richtextbox中设置的文本?

时间:2018-06-07 14:13:39

标签: c# winforms

当我点击一个单选按钮时,它会在我的richtextbox中设置文本。如果我点击另一个,它什么都不做。是否可以用另一个单选按钮替换文本?

private void M_buttonComment_CheckedChanged(object sender, EventArgs e)
{
    if (M_buttonComment.Checked) //If checked == true
    {
        // Set the text to be "Comment" //
        M_TitleTextBox.Text = "Comment - ";                        
    }
}

1 个答案:

答案 0 :(得分:2)

您需要为两个单选按钮订阅相同的CheckChanged事件。

两个单选按钮设置此属性。 (根据需要命名方法,但要确保方法的名称在代码中相同。)

Picture

然后在你的代码中:

private void SomeCustomEvent(object sender, EventArgs e)
{
    if (radBtnOne.Checked) //If checked == true
    {
        M_TitleTextBox.Text = "From radio button one";                        
    }
    else if(radBtnTwo.Checked)
    {
        M_TitleTextBox.Text = "From radio button two";
    }
}

请注意,如果在我的示例中选中了单选按钮,则会发生同样的事情。如果您不关心选中了哪个单选按钮,只是想做同样的事情,那么以下方法就可以了。在这种情况下,sender将是单击的单选按钮。

但你也可以通过查看他们的.Name财产找出点击了哪个单选按钮。

private void SomeCustomEvent(Object sender, EventArgs e) {
    RadioButton rb = (RadioButton)sender;
    if (rb.Checked) { // From either radio button
        M_TitleTextBox.Text = "A radio button was clicked.";
        if(rb.Name = "radBtnOne") // To check which one was checked.
        {
            // Now we know which radio button was clicked. Same process for the second
        }
    }
}