汤俊飞博客

大帅比

深入理解C#异步编程模式

1. 引言

查看全文 →

C# 设计模式

在软件开发领域,C#设计模式犹如一把神奇的钥匙,能够开启高效、可维护和可扩展的软件架构之门。它就像是一位经验丰富的建筑师,在构建软件系统时提供了一系列经过验证的解决方案和最佳实践。单例模式是C#设计模式中较为常用的一种。它确保一个类只有一个实例,并提...
查看全文 →

C#一分钟浅谈:ReSharper 插件增强开发效率

...

查看全文 →

C# 单例模式的多种实现

...

查看全文 →

winform 全局热键

 /// <summary>
 /// 热键
 /// </summary>
 public class HotKey
 {
     public const int WM_HOTKEY = 0x0312;
     //如果函数执行成功,返回值不为0。
     //如果函数执行失败,返回值为0。要得到扩展错误信息,调用GetLastError。
     [DllImport("user32.dll", SetLastError = true)]
     public static extern bool RegisterHotKey(
                     IntPtr hWnd,                //要定义热键的窗口的句柄
         int id,                     //定义热键ID(不能与其它ID重复)
         KeyModifiers fsModifiers,   //标识热键是否在按Alt、Ctrl、Shift、Windows等键时才会生效
         Keys vk                     //定义热键的内容
         );
     [DllImport("user32.dll", SetLastError = true)]
     public static extern bool UnregisterHotKey(
         IntPtr hWnd,                //要取消热键的窗口的句柄
         int id                      //要取消热键的ID
         );
     //定义了辅助键的名称(将数字转变为字符以便于记忆,也可去除此枚举而直接使用数值)
    

     /// <summary>
     /// 计算标识
     /// </summary>
     /// <param name="keyModifiers"></param>
     /// <param name="key"></param>
     /// <returns></returns>
     internal static int CalculateID(KeyModifiers keyModifiers, Keys key)
     {
         return (int)keyModifiers + ((int)key << 4);
     }

     public readonly KeyModifiers ModifierKey;
     public readonly Keys Key;
     public readonly int id;
     /// <summary>
     /// 
     /// </summary>
     /// <param name="keyModifiers"></param>
     /// <param name="key"></param>
     internal HotKey(KeyModifiers keyModifiers, Keys key)
     {
         this.ModifierKey = keyModifiers;
         this.Key = key;
         this.id = HotKey.CalculateID(keyModifiers, key);
     }

 }
查看全文 →
<< 1 >>
«    2024年11月    »
123
45678910
11121314151617
18192021222324
252627282930
  • 文章总数:8
  • 页面总数:1
  • 分类总数:5
  • 标签总数:4
  • 评论总数:0
  • 浏览总数:98
您好,欢迎到访网站!
  查看权限