RT
解决方案 »
- C# treeview中修改XML文件
- 如何在js代码里加入.net代码?
- 用循环方法取多个textBox的值???
- C#.net 关于登陆的代码
- IIS 打开虚拟目录属性时抱错:COM Surrogate 遇到问题需要关闭。我们对此引起的不便表示抱歉
- .Net的出现,不仅没能一统江湖,反而把天下搞得更乱了
- 遍历一个文件夹,如果有图片文件就生成该图片的缩略图,这个要怎么做呀?
- 用Reflector for .NET可以反编译dll文件(.net)如何把整个dll导出个cs,或文本文件?
- 请问一下:在C#中定义对象一定要用new初始化么,C++ 中不需要
- 如何卸载windows服务?installutil/u无效
- 如在WebBrowser加载的页面中输入字符
- 数据库表和xml怎么关联
private void TextBoxSend_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if (CheckBoxHexSend.Checked == true) {
//文本框防止非法字符输入:
//只输入整数和A-F:及 空格
//3 - ctrl + c 复制
//22 - ctrl + v 粘贴
//24 - ctrl + x 剪切
//13 回车键
//17 控制键,允许复制
//8 退格键
//32 空格键
short KeyAscii = Strings.Asc(e.KeyChar); switch (KeyAscii) {
case 13:
case 32:
case 8:
case Strings.Asc("0"): // TODO: to Strings.Asc("9")
case Strings.Asc("A"): // TODO: to Strings.Asc("F")
case Strings.Asc("a"): // TODO: to Strings.Asc("f")
//加回车键
break;
// e.KeyChar = Chr(KeyAscii)
default:
KeyAscii = 0;
//按键都屏蔽
break;
}
if (KeyAscii == 0) {
e.Handled = true;
} }}
一旦失去了焦点就没有用了,这时我们就需要用到热键,就类似你在网页上Ctrl+C复制了一段文字,
然后Ctrl+V粘贴到一个记事本里,这样我们要在Form_Activated事件中注册好热键,
然后再重载重载From中的WndProc函数:///
/// 监视Windows消息
/// 重载WndProc方法,用于实现热键响应
///
///
protected override void WndProc(ref Message m)
{
const int WM_HOTKEY = 0x0312;
//按快捷键
switch (m.Msg)
{
case WM_HOTKEY:
switch (m.WParam.ToInt32())
{
case XXX: //之前注册的热键
//此处填写响应代码
break;
}
break;
}
base.WndProc(ref m);
}经过这样的注册,我们运行程序后,就算把界面最小化或者隐藏起来,你都可以执行相应的热键操作。
private void textBox1_KeyUp(object sender, KeyEventArgs e)
{
if (e.Control && e.KeyCode == Keys.V)
{
}
}
{
//按下alt + s
if((e.Alt)&&(e.KeyCode==System.Windows.Forms.Keys.S))
{
MessageBox.Show( "按下了alt + S ");
}
//按下alt + shift + s
if((e.Alt)&&(e.KeyCode==System.Windows.Forms.Keys.S)&&(e.Shift))
{
MessageBox.Show( "按下了alt + Shift + S ");
}
//其他类似
}