В С# можно ли получить значение bool, определяя, находится ли курсор в определенном текстовом поле?
Чего я хочу достичь:
У меня есть главная страница с двумя кнопками; кнопку поиска и кнопку входа в систему. В зависимости от того, какой текстовый блок активен или имеет фокус, или нет фокуса, я хочу установить атрибут UseSubmitBehavior.
То, что я хочу, это что-то вроде этого (я знаю, что этот код не работает):
if (textboxUsername.hasfocus == true || textboxPassword.hasfocus == true)
{
buttonLogin.UseSubmitBehavior = true;
buttonSearch.UseSubmitBehavior = false;
}
else
{
buttonLogin.UseSubmitBehavior = false;
buttonSearch.UseSubmitBehavior = true;
}
Цель состоит в том, чтобы заставить страницу реагировать так, как пользователь ее ожидает, например. на самом деле поиск при попадании на вход, а не попытка входа в систему, когда вы вводите текст в поле поиска.
То, что вы пытаетесь сделать, не будет работать так.
Однако вы можете использовать поля ввода в панели и поле поиска на панели, а затем добавить к ним значение DefaultButton.
<asp:Panel runat="server" ID="SearchPanel" DefaultButton="Search">
<asp:TextBox runat="server" ID="SearchInput" />
<asp:Button runat="server" ID="Search" />
</asp:Panel>
Если вы нажмете enter в этом текстовом поле, кнопка поиска выполнит обратную передачу.
Примечание: это не работает с LinkButtons или ImageButtons, если вы их используете, вы можете добавить обходной путь: добавьте обычную кнопку и настройте ее для отображения: none; и пусть LinkButton и Button запускают одно и то же событие.