Tag: key events

KeyDown事件未触发,KeyPreview设置为true

我正在构建一个小型Forms应用程序,我刚刚启动它。 但我有这个问题:如果我把一个控件放到窗体上,KeyDown事件不会触发。 我知道KeyPreview属性,并将其设置为true。 但这没有帮助… :(我也试图把焦点放在主要forms上,也没有成功。 有什么想法吗? 编辑: public partial class Form1 : Form { public Form1() { InitializeComponent(); KeyDown += new KeyEventHandler(Form1_KeyDown); this.KeyPreview = true; } void Form1_KeyDown(object sender, KeyEventArgs e) { switch (e.KeyCode) { case Keys.Left: MessageBox.Show(“Left”); break; case Keys.Right: MessageBox.Show(“Right”); break; } } }

当焦点位于文本框的自动完成框时,禁用键事件

在我的项目中有一个Form mainForm ,其中有两个textBoxes txtUserName和txtPassword以及一个按钮btnLogin 。 我给出了以下txtUserName属性: txtUserName属性 AutoCompleteCustomSource – Collection –> Administrator –> Clerk AutoCompleteMode – Suggest AutoCompleteSource – CustomSource btnLogin_Click事件 if (txtUserName.Text.Equals(“Administrator”) && txtPassword.Text.Equals(“123”)) { //function to access admin features } else if (txtUserName.Text.Equals(“Clerk”) && txtPassword.Text.Equals(“123”)) { //function to access clerk features } else { MessageBox.Show(“Please Enter correct details”, “Login Error”); } 我已经将mainForm keypreview设置为true并将实现的函数设置为mainForm […]

总是大写……(C#winforms)

我的表单中有一个TextBox ,我在其上添加了这个事件: private void txtValue_KeyDown(object sender, KeyEventArgs e) { MessageBox.Show(e.KeyData.ToString()); } 但它始终打印字母的大写字母,即使我在textBox中输入了一个小写字母。 请看下面的图片: 我应该如何获得正确的显示? 谢谢…