Ответ 1
Не можете ли вы использовать AcceptButton
для окна свойств форм? Это задает поведение по умолчанию для нажатия клавиши "Enter", но вы все еще можете использовать другие ярлыки.
Извините за длинный заголовок, но я не мог придумать другого способа его выразить.
У меня есть это:
private void textBoxToSubmit_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
buttonSubmit_Click((object)sender, (EventArgs)e);
}
}
... чтобы нажать клавишу ввода в текстовом поле, нажмите кнопку "отправить". Однако это также препятствует прохождению ярлыков. (не совсем уверен, что это с этим связано, может быть, только с несколькими ключами?)
ShortcutsEnabled установлен в значение true.
Спасибо заранее!
Джонатан
Не можете ли вы использовать AcceptButton
для окна свойств форм? Это задает поведение по умолчанию для нажатия клавиши "Enter", но вы все еще можете использовать другие ярлыки.
Если вы хотите, чтобы возвращаемое действие вызывало действие только в том случае, если пользователь находится в текстовом поле, вы можете назначить нужную кнопку для элемента управления AcceptButton, как это.
private void textBox_Enter(object sender, EventArgs e)
{
ActiveForm.AcceptButton = Button1; // Button1 will be 'clicked' when user presses return
}
private void textBox_Leave(object sender, EventArgs e)
{
ActiveForm.AcceptButton = null; // remove "return" button behavior
}
Вы можете использовать KeyPress вместо KeyUp или KeyDown более эффективно и здесь, как обращаться с
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Enter)
{
e.Handled = true;
button1.PerformClick();
}
}
надеюсь, что он работает
Вам не нужен код на стороне клиента, если это ASP.NET. Нижеприведенный пример представляет собой окно ввода буфера с кнопкой поиска со значком font-size.
Вы увидите, что вместо использования регулярного <div> с классом "input-group" Я использовал asp: Panel. Свойство DefaultButton, установленное на идентификатор моей кнопки, делает трюк.
В приведенном ниже примере, после ввода чего-либо во входном текстовом поле, вы просто нажимаете enter, и это приведет к отправке.
<asp:Panel DefaultButton="btnblogsearch" runat="server" CssClass="input-group blogsearch">
<asp:TextBox ID="txtSearchWords" CssClass="form-control" runat="server" Width="100%" Placeholder="Search for..."></asp:TextBox>
<span class="input-group-btn">
<asp:LinkButton ID="btnblogsearch" runat="server" CssClass="btn btn-default"><i class="fa fa-search"></i></asp:LinkButton>
</span></asp:Panel>