Форма, которую я использую, требует скопированного URL-адреса. Я пытаюсь создать событие textChanged, которое будет проверять URL-адрес, как только он будет вставлен, сообщая пользователю, является ли он действительным или недействительным. Я также хочу иметь возможность заблокировать текстовое поле, когда это произойдет, с сообщением, говорящим что-то вроде «Обработка ...».
Проблема в приведенном ниже коде: текстовое поле никогда не отключается, программа выполняет метод checkUrl(), а текстовое поле никогда не отключается, даже если оно выполняется первым (я предполагаю, что это так, но тот факт, что есть правильный вызов функции под ним возится с чем-то или получает более высокий приоритет).
Как сделать, чтобы элемент управления был визуально отключен во время выполнения метода?
private void urlTxtBx_TextChanged(object sender, EventArgs e)
{
urlTxtBx.Enabled = false;
checkUrl();
urlTxtBx.Enabled = true;
}
checkUrl()
выполняется слишком быстро, и вы его не видите? Отладьте это, чтобы быть уверенным. - person chaliasos   schedule 24.07.2012checkUrl()
достаточно быстро, чтобы снова включить текстовое поле, прежде чем вы заметите. - person Bali C   schedule 24.07.2012Textbox
и проверьте, можете ли вы писать в него. - person chaliasos   schedule 24.07.2012Application.DoEvents();
перед отключениемTextBox
. - person chaliasos   schedule 24.07.2012TextChanged
запустится, вы сможете проверить содержимое. Что делать, если пользователь хочет ввести что-то после вставленного URL-адреса или что, если он хочет ввести весь URL-адрес? - person CodeCaster   schedule 24.07.2012