Лучше изменить способ установки значения для этих TextBox
элементов управления и подумать о другом пользовательском интерфейсе, но в любом случае, если вы хотите оставить все как есть, я поделюсь идеей удовлетворить требование, которое выописано в вопросе.
Определите поле в форме, TextBox selectedTextBox;
, затем обработайте Enter
событие этих 3 TextBox
элементов управления и в наборе обработчиков selectedTextBox = (TextBox)sender
.Затем в Click
обработчике события кнопки проверьте, не равен ли selectedTextBox
значение NULL, затем установите selectedTextBox.Text = textBox4.Text;
:
TextBox selectedTextBox;
public Form1()
{
InitializeComponent();
textBox1.Enter += TextBox_Enter;
textBox2.Click += TextBox_Enter;
textBox3.Click += TextBox_Enter;
button1.Click += button1_Click;
}
void TextBox_Enter(object sender, EventArgs e)
{
selectedTextBox = (TextBox)sender;
}
void button1_Click(object sender, EventArgs e)
{
if(selectedTextBox!=null)
selectedTextBox.Text = textBox4.Text;
}
Убедитесь, что вы не подключаете обработчик события дважды, поэтому для прикрепления событияобработчик, используйте редактор кода или конструктор, но не оба.