use*_*353 8 .net toolstrip winforms
我的主表单上有一个带有ToolStrip的.NET 2.0 WinForms应用程序.有时,ToolStrip图标不会响应第一次鼠标单击,因此我必须单击该图标两次.它只是一个带有几个图标和工具提示文本的标准ToolStrip,我没有做任何特别的事情.这是常见的吗?
Doc*_*own 23
我不久前遇到了同样的问题,我在Rick Brewster的博客中找到了解决方案.我们的想法是在派生类ToolStripEx中覆盖'WndProc'.该解决方案的核心如下所示:
protected override void WndProc(ref Message m)
{
base.WndProc(ref m);
if (m.Msg == NativeConstants.WM_MOUSEACTIVATE &&
m.Result == (IntPtr)NativeConstants.MA_ACTIVATEANDEAT)
{
m.Result = (IntPtr)NativeConstants.MA_ACTIVATE;
}
}
Run Code Online (Sandbox Code Playgroud)
小智 0
如果应用程序窗口尚未获得焦点,则必须单击 ToolStrip 按钮两次。第一次单击将焦点设置到窗口,第二次单击引发单击事件。(不幸的是)这是默认行为,并且是设计的\xe2\x80\x99s。Microsoft Word 显示相同的行为(即使 .NET ToolStrip 不是同一控件)。
\n| 归档时间: |
|
| 查看次数: |
5021 次 |
| 最近记录: |