是否可以使下划线热键总是可见的我的控制,而不必按下Windows窗体中的Alt键与Visual Studio中 – C#中?
我只有一定的时间需要在表格的控件上总是用一个字符下的“_”来加下划线。 所以最好只有代码才能做到这一点。
我可以让Windows的设置始终显示快捷键和热键的下划线,但是我只需要在某个时间发生。
如何更改SysDateTimePick32或CDateTimeCtrl的背景颜色?
Ubuntu 10中的实验性缓冲区溢出(汇编)
如何在C ++中使用inheritance对类进行序列化
如何在Windows系统中使用Sublime Text在外部控制台中运行程序?
如何确定我的.NET Windows Forms程序运行在哪个监视器上?
通过c ++ WinAPI来计算MD5哈希值
C ++ / Objective-C – 如何分析一个大项目(Unix方式)?
是否有可能在没有inheritance父进程的虚拟内存空间的情况下分支进程?
如何切换到具体的文件处理
假设你正在使用WinForms,你应该能够依靠底层的Win32机制。 这就是WM_UPDATEUISTATE消息。 该文件说:
应用程序发送WM_UPDATEUISTATE消息来更改指定窗口及其所有子窗口的UI状态。
所以你可以把消息发送到顶层窗口的句柄。 对于wParam的高位字,您需要将wParam的低位字和UISF_HIDEACCEL的低位字传递给UIS_CLEAR 。
这里是一些相当粗糙的示例代码。 请记住,我的C#专业知识是非常有限的。
public partial class Form1 : Form { private const uint WM_UPDATEUISTATE = 0x0128; private const uint WM_QUERYUISTATE = 0x0129; private const uint UIS_CLEAR = 2; private const uint UISF_HIDEACCEL = 0x2; public Form1() { InitializeComponent(); } private void Form1_HandleCreated(object sender,PaintEventArgs e) { ClearHideAccel(); } private void ClearHideAccel() { UIntPtr wParam = (UIntPtr)((UISF_HIDEACCEL << 16) | UIS_CLEAR); NativeMethods.SendMessage(this.Handle,WM_UPDATEUISTATE,wParam,IntPtr.Zero); } } internal class NativeMethods { [DllImport("User32",SetLastError = true)] public static extern IntPtr SendMessage(IntPtr hWnd,uint Msg,UIntPtr wParam,IntPtr lParam); }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。