给Button定义快捷键 我想实现这样的一个功能,就是一个按钮(Button),我想通过一个快捷键,来实现它的单击事件,如何实现呀?或者重写一个Button?请教了,给点参考,谢谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Buttion1的属性里找text属性。。为其赋值,名称+(&快捷键)例如ok(&F)就好了。。单击F 执行button单击事件 用消息,在窗体上定义一个函数protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Form.Keys keyData){ //用Alt+S键 if (keyData==(Keys.Alt | Keys.S)) { btnOK_Click(null, null); return true; } //或才用Enter键 if (keyData == Keys.Enter) { btnOK_Click(null, null); return true; } return base.ProcessCmdKey(ref msg, keyData);}假如果你的按钮的单击事件如下:private void btnOK_Click(object sender, EventArgs e){ //要执行的操作} protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { if (keyData == (Keys.F2)) { button1_Click(null, null); return true; } return base.ProcessCmdKey(ref msg, keyData); }这样也行 如二楼,如果是winform里面。就可以了在.net里面。写js 打掉了。在asp.net里面。需要js 我想这个意思啦,就是比如一个按钮(btnOK),我想通过按快捷键:Ctrl + O来执行,怎么实现呀?楼上有的(&O)这个我知道,只能用Alt的,我想用Ctrl组合的,请教如何实现? 可是我是在C#WinForm里面啊,请教了 button1&B 设B为button1的快捷键 我想用Ctrl 加上某个键呀, 文同志 做MyQQ 发消息用啊!呵呵 将上面的Keys.Alt改为Keys.Control就行了。 注册一个热键好了。keydown的话可能要焦点在那个控件上吧 [DllImport("user32")] public static extern bool RegisterHotKey(IntPtr hWnd, int id, uint control, Keys vk); [DllImport("user32")] public static extern bool UnregisterHotKey(IntPtr hWnd, int id); protected override void WndProc(ref Message m) { switch (m.Msg) { case 0x0312: if (m.WParam.ToString() == "123") { this.Hide(); } else if (m.WParam.ToString() == "456") { this.Visible = true; } break; } base.WndProc(ref m); } private void BookShelf_Load(object sender, EventArgs e) { //register:press [H] key to hide,and press [S] key to show RegisterHotKey(this.Handle, 123, 1, Keys.H); RegisterHotKey(this.Handle, 456, 1, Keys.S); //这里1是shift,2是ctrl,0是两个都不要 } private void BookShelf_FormClosed(object sender, FormClosedEventArgs e) { UnregisterHotKey(this.Handle, 123); UnregisterHotKey(this.Handle, 456); } Right, 用api注册热键才能保证form没有焦点也能执行 .NET中 非法的变量名/编号 急! c#连锁软件的几个问题 关于终止方法调用的问题 有关连接acess数据库的问题 求一SQL语句 谢谢 函数重载问题 用DATAGRID更新数据的问题,请各位高手帮帮忙!!! 请问大神们会DotNetBar吗? 求教里面DateGridViewX的用法 我的vs.net建工程后只能运行不能调试 .aspx的页面之间如何传送大变量? 如何动态选择access数据库中的表,把表里的数据输入到水晶报表里。(急) 如何定义不确定长度的二维数组?
为其赋值,名称+(&快捷键)
例如ok(&F)就好了。。单击F 执行button单击事件
{
//用Alt+S键
if (keyData==(Keys.Alt | Keys.S))
{
btnOK_Click(null, null);
return true;
} //或才用Enter键
if (keyData == Keys.Enter)
{
btnOK_Click(null, null);
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
假如果你的按钮的单击事件如下:
private void btnOK_Click(object sender, EventArgs e)
{
//要执行的操作
}
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == (Keys.F2))
{
button1_Click(null, null);
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
这样也行
在.net里面。写js
将上面的Keys.Alt改为Keys.Control就行了。
keydown的话可能要焦点在那个控件上吧 [DllImport("user32")]
public static extern bool RegisterHotKey(IntPtr hWnd, int id, uint control, Keys vk); [DllImport("user32")]
public static extern bool UnregisterHotKey(IntPtr hWnd, int id); protected override void WndProc(ref Message m)
{
switch (m.Msg)
{
case 0x0312:
if (m.WParam.ToString() == "123")
{
this.Hide();
}
else if (m.WParam.ToString() == "456")
{
this.Visible = true;
}
break;
}
base.WndProc(ref m);
} private void BookShelf_Load(object sender, EventArgs e)
{
//register:press [H] key to hide,and press [S] key to show
RegisterHotKey(this.Handle, 123, 1, Keys.H);
RegisterHotKey(this.Handle, 456, 1, Keys.S);
//这里1是shift,2是ctrl,0是两个都不要
} private void BookShelf_FormClosed(object sender, FormClosedEventArgs e)
{
UnregisterHotKey(this.Handle, 123);
UnregisterHotKey(this.Handle, 456);
}