Как отобразить текст в текстовом поле в соответствии с элементами управления? - PullRequest
0 голосов
/ 24 мая 2018

Я очень новичок в программировании оконных форм.В настоящее время это всего лишь идея программы, но позвольте мне записать простой поток программы:

  1. Есть несколько элементов управления, две радиокнопки , три элемента управления флажка , один элемент управления со списком в стиле раскрывающегося списка , элемент управления списком и, наконец, элемент управления для текстового поля для отображения выходных данных.
  2. Если я выберу содержимое в поле со списком, оно также выберет содержимое переключателя.То же самое относится и к списку - флажки управляют отношениями.

Так сказать, в полях со списком есть оба контента1 и контент2, и оба переключателя.Однако у меня нет проблем с соединением обеих функций ... У меня возникли проблемы с печатью текста.Скажем так, если я выберу content1, в текстовом поле появится следующая строка:

"Выбранный контент: content1"

Для флажков - списокотношения, у меня есть color1, color2 и color3.Можно выбрать более 1 цвета (отмечен, если это флажок), и после выбора эта следующая строка также появится под ранее указанным текстом выбора содержимого:

"Выбранный контент: content1"" Выбранные цвета: color1 color2 "

Как сделать так, чтобы текстовые форматы отображались?Пока что я использую этот код и пока не могу отобразить текст в текстовом поле.Текстовое поле имеет имя textBoxResults .

if (radioContent1.Checked == true)
        {

            textBoxResults.Text = "Chosen content is : content1";
        }

Кроме того, концептуально, как я могу связать флажки color1 с 3, чтобы, если я отмечу один или несколько флажков, чтобы они соответствовали одному илибольше вариантов, выбранных в содержании цвета от 1 до 3 в элементе управления списком?

Заранее спасибо за ответы.Это поможет мне лучше понять Windows Forms.

1 Ответ

0 голосов
/ 24 мая 2018

Следующее является лишь основной идеей для начала работы, однако ее можно улучшить различными способами.

В событие загрузки формы добавьте следующий код:

radioButton1.CheckedChanged += RadioButtons_CheckedChanged;
radioButton2.CheckedChanged += RadioButtons_CheckedChanged;
radioButton3.CheckedChanged += RadioButtons_CheckedChanged;

Затем вы можете использовать обработчик событий RadioButtons_CheckedChanged, чтобы соответствующим образом изменить текст:

private void RadioButtons_CheckedChanged(object sender, EventArgs e)
{
    if (radioButton1.Checked)
        textBox1.Text = "Chosen content is Content1.";
    else if (radioButton2.Checked)
        textBox1.Text = "Chosen content is Content2.";
    else if (radioButton3.Checked)
        textBox1.Text = "Chosen content is Content3.";
}

Аналогично, для флажков:

checkBox1.CheckedChanged += CheckBoxes_CheckedChanged;
checkBox2.CheckedChanged += CheckBoxes_CheckedChanged;
checkBox3.CheckedChanged += CheckBoxes_CheckedChanged;

Тогда:

private void CheckBoxes_CheckedChanged(object sender, EventArgs e)
{
    if (!checkBox1.Checked && !checkBox2.Checked && !checkBox3.Checked)
    {
        textBox2.Clear();
        return;
    }

    textBox2.Text = "Chosen colors are :";
    if (checkBox1.Checked)
        textBox2.Text += " color1";
    if (checkBox2.Checked)
        textBox2.Text += " color2";
    if (checkBox3.Checked)
        textBox2.Text += " color3";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...