Обновить текстовое поле C#

#c# #user-interface

#c# #пользовательский интерфейс

Вопрос:

Я новичок в разработке графического интерфейса, особенно в C #. Я не могу обновить пользовательский интерфейс при внутреннем изменении текста свойства текстового поля. Я знаю, что существует событие TextChanged, но я думаю, что оно запускается только тогда, когда пользователь вводит текстовое поле.

Вот мой код :

 private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    int curItem = this.listBox1.SelectedIndex;
    StockItem it = this.model.Items.ElementAt(curItem);
    this.itemNameTextBox.Text = it.Name;
    this.supplierTextBox.Text = it.Supplier;
    this.unitCostTextBox.Text = it.UnitCost.ToString();
    this.nbRequiredTextBox.Text = it.NbRequired.ToString();
}
  

Спасибо

Комментарии:

1. В чем именно проблема? Что происходит в данный момент. Вы изменяете свойство text текстового поля, присваивая ему текст (кроме того, строку).

2. Пожалуйста, укажите, к какому событию это подключено, и если это WPF, Winforms и т. Д. Кроме того, вас беспокоит, что событие не срабатывает при изменении свойства text элемента управления?

3. вы говорите о winforms правильно, а не о webforms?

4. @Rikon: Хотя это технически возможно, я сомневаюсь, что это веб-разработка — он говорит о захвате события изменения текста с помощью C #, и он даже не упомянул слово javascript.

5. Вы должны убедиться, что у вас нет другого события, которое перезаписывает значения по умолчанию после срабатывания события IndexChanged. У меня была такая проблема в прошлом.

Ответ №1:

Изменение текста списка не приводит к изменению выбранного индекса.

Если вы хотите, чтобы listBox1_SelectedIndexChanged сработал, вам нужно будет выполнить поиск в поле списка текста, на который вы хотите его установить, захватить этот индекс, а затем установить SelectedIndex .

Я предполагаю, что это то, что вы пытаетесь сделать.