c# keydown

c# keydownC#KeyDown事件br/       某些键,如Tab、Return、Esc和箭头键,由控件自动处理。为使这些键引发KeyDown事件,必须在窗体上的每个控件中重写IsInputKey方法。用于重写IsInputKey的代码需要确定是否按下了某个特殊键,并且需要返回一个true值。 1class MyButton :System.Windows.Forms.Buttonbr/ 2    {br/ 3        protected override bool

大家好,欢迎来到IT知识分享网。

        某些键,如 TabReturnEsc箭头键,由控件自动处理。为使这些键引发 KeyDown 事件,必须在窗体上的每个控件中重写 IsInputKey 方法。用于重写 IsInputKey 的代码需要确定是否按下了某个特殊键,并且需要返回一个 true 值。

 1
c# keydown
class
 MyButton :System.Windows.Forms.Button

 2
c# keydownc# keydown    

{

 3c# keydown        protected override bool IsInputKey(System.Windows.Forms.Keys keyData)
 4c# keydownc# keydown        {

 5c# keydown            if (keyData == System.Windows.Forms.Keys.Left ||
 6c# keydown                keyData == System.Windows.Forms.Keys.Right)
 7c# keydown                return true;
 8c# keydown            return base.IsInputKey(keyData);
 9c# keydown        }

10c# keydown    }

重写之后就可以让Button控件KeyDown事件中箭头键响应了。

 1
c# keydown
        
private
 
void
 button1_KeyDown(
object
 sender, KeyEventArgs e)

 2
c# keydownc# keydown        

{

 3c# keydown            if(e.KeyCode == Keys.Left)
 4c# keydownc# keydown            {

 5c# keydown                if (button1.Location.X >=2)
 6c# keydownc# keydown                {

 7c# keydown                    button1.Location = new Point(button1.Location.X  2, button1.Location.Y) ;
 8c# keydown                }

 9c# keydown            }

10c# keydown            if (e.KeyCode == Keys.Right)
11c# keydownc# keydown            {

12c# keydown                if (button1.Location.X <= 500)
13c# keydownc# keydown                {

14c# keydown                    button1.Location = new Point(button1.Location.X + 2, button1.Location.Y);
15c# keydown                }

16c# keydown            }

17c# keydown        }

 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/15144.html

(0)
上一篇 2024-02-18 20:45
下一篇 2024-02-21 13:00

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信