Как заменить текст, уже заданный в richtextbox, с помощью другого переключателя? - PullRequest
0 голосов
/ 07 июня 2018

Когда я нажимаю одну радиокнопку, она устанавливает текст в моем текстовом поле.Если я нажму на другую, она ничего не сделает.Можно ли заменить текст другой радиокнопкой?

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 голосов
/ 07 июня 2018

Вам необходимо подписаться на одно и то же событие 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
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...