我试过这段代码:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (Convert.ToInt32(e.KeyChar) == 13)
{
MessageBox.Show(" Enter pressed ");
}
}
和此:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == Convert.ToChar(Keys.Enter))
{
MessageBox.Show(" Enter pressed ");
}
}
和此:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == Keys.Enter)
{
MessageBox.Show(" Enter pressed ");
}
}
但他们没有工作......
当我写东西并按 Enter 时,它不起作用。它只突出我的文字。
答案 0 :(得分:78)
试试这段代码,可能会有用(假设是windows形式):
private void CheckEnter(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if (e.KeyChar == (char)13)
{
// Enter key pressed
}
}
像这样注册活动:
this.textBox1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(CheckEnter);
答案 1 :(得分:31)
您必须在keydown事件中尝试此操作
这是代码:
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
{
MessageBox.Show("Enter pressed");
}
}
更新:
您也可以使用按键事件执行此操作。
试试这个:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == Convert.ToChar(Keys.Return))
{
MessageBox.Show("Key pressed");
}
}
答案 2 :(得分:5)
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Enter)
{
MessageBox.Show("Enter Key Pressed");
}
}
这允许您选择所需的特定密钥,而无需查找密钥的char值。
答案 3 :(得分:4)
private void textBoxKontant_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Return)
{
MessageBox.Show("Enter pressed");
}
}
截图:
答案 4 :(得分:3)
KeyChar正在寻找一个整数值,因此需要按如下方式进行转换:
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == Convert.ToInt16(Keys.Enter))
{
MessageBox.Show("Testing KeyPress");
}
}
答案 5 :(得分:2)
private void TextBox1_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
MessageBox.Show("Enter pressed");
}
}
为我工作。
答案 6 :(得分:0)
private void Input_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Return)
{
MessageBox.Show("Enter pressed");
}
}
这对我有用。
答案 7 :(得分:0)
您也可以使用按键事件执行此操作。
private void textBox1_EnterKeyPress(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
// some code what you wanna do
}
}
答案 8 :(得分:0)
您可以使用此代码:
abc_KeyDown(abc, new KeyEventArgs(Keys.Enter));
答案 9 :(得分:0)
对我来说,这是最好的解决方案:
private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData == Keys.Enter)
{
MessageBox.Show("Enter key pressed");
}
}
答案 10 :(得分:0)
记住
Keys.Return 与 Keys.Enter
不同//Makes it easier to Type user and password and press Enter,
//Rather than using the mouse to Click the Button all the time
private void Txt_Password_KeyDown(object sender, KeyEventArgs e)
{
if(e.KeyCode == Keys.Return)
{
Btn_Login_Click(null, null);
}
}
希望这有助于某人。
答案 11 :(得分:0)
您可以使用Key_down事件代替使用Key_press事件。你可以在下面找到这个
双击此处后会自动显示此代码
private void textbox1_KeyDown(object sender, KeyEventArgs e)
{
}
现在可以根据需要使用问题解决。
private void textbox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
MessageBox.Show(" Enter pressed ");
}
}
答案 12 :(得分:0)
private void Ctrl_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
this.SelectNextControl((Control)sender, true, true, true, true);
}
}
选择所有必需的文本框;输入新的事件名称Ctrl_KeyUp。
通过BTNT TV观看YouTube: https://www.bing.com/videos/searchq=c%23+how+to+move+to+next+textbox+after+enterkey&view=detail&mid=999E8CAFC15140E867C0999E8CAFC15140E867C0&FORM=VIRE
答案 13 :(得分:-2)
试试这个:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
switch (e.Key.ToString())
{
case "Return":
MessageBox.Show(" Enter pressed ");
break;
}
}