Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 按C键输入#_C#_.net - Fatal编程技术网

C# 按C键输入#

C# 按C键输入#,c#,.net,C#,.net,我尝试了以下代码: private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { if (Convert.ToInt32(e.KeyChar) == 13) { MessageBox.Show(" Enter pressed "); } } abc_KeyDown(abc, new KeyEventArgs(Keys.Enter)); 这是: private void tex

我尝试了以下代码:

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (Convert.ToInt32(e.KeyChar) == 13) 
    {
        MessageBox.Show(" Enter pressed ");
    }
}
abc_KeyDown(abc, new KeyEventArgs(Keys.Enter));
这是:

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 ");
    }
}
这是:

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键时,它不起作用。它只突出显示我的文本。

请尝试此代码,可能有效(假设windows窗体):

按如下方式注册事件:

this.textBox1.KeyPress += new 
System.Windows.Forms.KeyPressEventHandler(CheckEnter);
试试这个:

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
        switch (e.Key.ToString())
        {
                case "Return":
                        MessageBox.Show(" Enter pressed ");
                        break;
         }
}

您必须在keydown事件中尝试此操作

以下是代码:

private void textBox1_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.Key == Key.Enter)
        {
            MessageBox.Show("Enter pressed");
        }
    }
更新:


您也可以使用按键事件来执行此操作

 private void textBox1_EnterKeyPress(object sender, KeyEventArgs e)

 {

  if (e.KeyCode == Keys.Enter)
   {
     // some code what you wanna do
   }


}
试试这个:

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    {
        if (e.KeyChar == Convert.ToChar(Keys.Return))
        {
            MessageBox.Show("Key pressed");
        }
    }
这允许您选择所需的特定键,而无需找到键的char值

private void textBoxKontant_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Return)
            {
                MessageBox.Show("Enter pressed");
            }
        }
截图:

private void Input_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.Key == Key.Return)
        {
            MessageBox.Show("Enter pressed");
        }
    }


这对我来说很有效。

您也可以通过按键事件来实现这一点

 private void textBox1_EnterKeyPress(object sender, KeyEventArgs e)

 {

  if (e.KeyCode == Keys.Enter)
   {
     // some code what you wanna do
   }


}

您可以使用以下代码:

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (Convert.ToInt32(e.KeyChar) == 13) 
    {
        MessageBox.Show(" Enter pressed ");
    }
}
abc_KeyDown(abc, new KeyEventArgs(Keys.Enter));

KeyChar正在查找整数值,因此需要按如下方式进行转换:

    private void Form1_KeyPress(object sender, KeyPressEventArgs e)
    {
        if (e.KeyChar == Convert.ToInt16(Keys.Enter))
        {
            MessageBox.Show("Testing KeyPress");
        }
    }

为我工作。

对我来说,这是最好的解决方案:

private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyData == Keys.Enter)
    {
        MessageBox.Show("Enter key pressed");
    }
}
记住

键。返回与键不同。输入

//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);
        }
    }

希望这对某人有所帮助。

您可以使用按键按下事件,而不是使用按键按下事件。你可以在下面找到这个
双击此处后,将自动删除此代码

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 ");
        }
     }
选择所有必需的文本框;键入新事件名称Ctrl\u KeyUp

通过BTNT TV查看YouTube:

我不确定这是否适用于具有CurrentUICulture和CurrentCulture(英语除外)的线程。我收到以下错误:错误1“System.Windows.Forms.KeyPressEventArgs”不包含“Key”的定义,并且找不到接受“System.Windows.Forms.KeyPressEventArgs”类型的第一个参数的扩展方法“Key”(您是否缺少using指令或程序集引用?)C:\Users\Doğa\Doga-Rhodonit\Doga-Rhodonit\Doga-Rhodonit\Form1.cs 380 23 Doga-Rhodonit是您的文本框多行==true?获取Enter键以“突出显示文本”这是一个了不起的技巧。请描述文本框的哪些属性在“属性”窗口中以粗体显示,以及您实现了哪些其他事件。我尝试了多行false和true它不会改变任何内容….:(:(文本框属性粗体:行:字符串[])数组--位置和大小,选项卡索引:14--名称--定位--自动完成自定义:集合(集合内部无)autocompletemode suggest autocomplete source:RecentlyUsedList自动完成设置导致此行为。如果改用KeyDown,您仍然可以检测到密钥。@DoğaÖzkaracaabatlıoğlu将表单密钥预览设置为trueKeys。EnterKeyEventArgs没有属性“key”,因此第一个示例没有编译-它确实有“KeyCode”为什么“必须”?在用户释放密钥之前会触发key down,而keyup可能会在另一个控件中触发(基于它应该执行的操作)如果你想阻止另一个同样注册的事件对enter键作出反应,你需要添加`e.Handled=true;`-如果你想在按下enter键时执行类似“OK action”的操作,这一点很重要。现在可以工作了,谢谢…:D我将自动完成模式更改为none:D
if(e.KeyChar==(char)Keys.enter)
使我学究的一面微笑即使
如果(e.KeyChar==(Int32)Keys.Enter)
有效,我通常将enum转换为int@sgissinger为什么要强制转换只有2到4个字节的内容?例如,KeyChar是一个char(2个字节),而不是Int32(4个字节)@nashwan你说得对,在这种情况下它是无用的。我说的是一般的枚举。例如,Keys.Shift等于65536,不能转换为2字节字符(或短字符)。这已经被许多其他人说过了,例如。既然我们都在这里学习,我也在做贡献。毕竟,我必须学会回答。回答了这个问题后,我知道了很多事情。下一次,我肯定会记住你的评论。或者用
13
代替
Convert.ToInt16(key.Enter))
不需要任何计算。作为替代方法,您可以使用jQuery插件来执行此操作,KeyPress
e
参数的类型为
KeyPress事件参数