Я новичок в C# и пытаюсь научиться использовать текст, измененный, чтобы пользователям не приходилось вручную нажимать кнопку. Но я могу заставить свое приложение работать с событием textChanged. Я создал тестовую программу, чтобы увидеть, работает ли она, и да, действительно ли это. Вот нерабочий код, в котором мне нужна помощь, если вам нужно больше, пожалуйста, дайте мне знать.C# TextChanged not firing off (не ASP.net) Настольное приложение
код в виде:
private void custFNameTxt_TextChanged(object sender, EventArgs e)
{
searchFirstName(custFNameTxt, customers);//search first name make searched list
Console.Write("working!!!!!!!!!!!!!!!!!!!!!!!"); // for testing
}
код был добавлен в конструкторе, когда я добавил событие:
//
// custFNameTxt
//
this.custFNameTxt.Location = new System.Drawing.Point(98, 45);
this.custFNameTxt.MaxLength = 12;
this.custFNameTxt.Name = "custFNameTxt";
this.custFNameTxt.Size = new System.Drawing.Size(171, 20);
this.custFNameTxt.TabIndex = 1;
this.custFNameTxt.TextChanged += new System.EventHandler(this.custFNameTxt_TextChanged);
Я попытался добавить обработчик формы нагрузки (это не получить его работы) :
private void Form1_Load(object sender, EventArgs e)//when form loads do this
{
//set unsername field to be selected on load
usernameTxt.Focus();
custFNameTxt.TextChanged += new EventHandler(custFNameTxt_TextChanged);
}
Это метод его вызова на случай, если проблема связана с ним, а не с вызовом события:
private void searchFirstName<T>(Control textBox, List<T> list)//method to search customers by first name
{
if (list.GetType() == typeof(List<Customer>))
{
searchForThis = (textBox as TextBox).Text.ToUpper().Trim().ToString();
for (int i = 0; i < customers.Count -1; i++)
{
searchThis = customers[i].F_name.ToUpper();
if(searchThis.Substring(0, searchForThis.Length) == searchForThis)
{
searched.Add(customers[i]);
}
}//end for loop
}//end if type of customer
Не могли бы вы уточнить, какая именно часть работает и не работает? Увольнение события или обработка 'searchFirstName'? –
Если вы не создали класс 'T', это, скорее всего, те части. Какой тип списка «Список'? –
Hank
Основываясь на вашем названии, я интерпретирую, что вы считаете, что это событие не стреляет. Вы выводите это, потому что вы не видите распечатку в консоли или не удаляете точку останова в обработчике событий? Если первое, я бы предположил, что по какой-то причине вы рушитесь в методе 'searchFirstName'. – John66NY