#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 .
Я предполагаю, что это то, что вы пытаетесь сделать.