Вы можете установить каждый TextChanged событие всех ваших выпадающий список в тот же обработчик событий
comboBox1.TextChanged += CommonComboTextChanged;
comboBox2.TextChanged += CommonComboTextChanged;
comboBox3.TextChanged += CommonComboTextChanged;
comboBox4.TextChanged += CommonComboTextChanged;
private void CommonComboTextChanged(object sender, EventArgs e)
{
ComboBox cbo = sender as ComboBox;
richTextBox.Text = cbo.Text;
}
Однако, если вы измените DropDownStyle ваших комбо в ComboBoxStyle.DropDownList, то вы можете использовать событие SelectedIndexChanged, который будет запускаться только тогда, когда ваш пользователь меняет элемент, выбранный с помощью списка DropDown.
comboBox1.SelectedIndexChanged += CommonComboIndexChanged;
comboBox2.SelectedIndexChanged += CommonComboIndexChanged;;
comboBox3.SelectedIndexChanged += CommonComboIndexChanged;;
comboBox4.SelectedIndexChanged += CommonComboIndexChanged;;
private void CommonComboIndexChanged;(object sender, EventArgs e)
{
ComboBox cbo = sender as ComboBox;
richTextBox.Text = cbo.Text;
}
Наконец, чтобы установить содержание RTB в одной из комбо в текущей закладке необходимо обработать событие TabChanged вашего TabControl
private void tabControl1_Selected(object sender, TabControlEventArgs e)
{
switch(e.TabPageIndex)
{
case 0:
richTextBox.Text = comboBox1.Text;
break;
// so on for the other page and combos
}
}
Или, если ваш ComboBoxes поделиться общим начальная часть их имен
private void tabControl1_Selected(object sender, TabControlEventArgs e)
{
var result = e.TabPage.Controls.OfType<ComboBox>()
.Where(x => x.Name.StartsWith("cboFunction"));
if(result != null)
{
ComboBox b = result.ToList().First();
richTextBox.Text = comboBox1.Text;
}
}
Пожалуйста, покажите нам свой код и то, что вы пытались – ElectricRouge
хотите ли вы RichTextBox, чтобы показать строку из только одного комбо, или вы хотите объединить текст из разных комбо? – Steve
Используйте события '_onChanged' в выпадающих списках и изменяйте текст в выбранном элементе при запуске события. – Max