- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个 AppBar。 AppBar 始终保持在顶部,当它失去焦点时,返回到 AppBar 需要点击两次而不是一次。我相信第一次点击会激活表单,然后第二次点击我会收到鼠标点击事件(如预期的那样)。你能给出任何想法,这里有什么问题吗?我的问题与这个类似Appbar and focus issues .不幸的是,那个链接中的 OP 没有发布他的解决方案,很遗憾。
我根据 CodeProject 的这篇文章创建了 AppBar C# does Shell, Part 3 .
我用 Spy++ 调查了它,但不知道为什么会这样。这是我测试此场景时获得的 Spy++ 日志(第一次点击无效,第二次点击有效)。
<00001> 00090CFE S WM_PARENTNOTIFY fwEvent:WM_LBUTTONDOWN xPos:25 yPos:17
<00002> 00090CFE R WM_PARENTNOTIFY
<00003> 00090CFE S WM_WINDOWPOSCHANGING lpwp:0418EAE4
<00004> 00090CFE R WM_WINDOWPOSCHANGING
<00005> 00090CFE S WM_ACTIVATEAPP fActive:True dwThreadID:00000000
<00006> 00090CFE R WM_ACTIVATEAPP
<00007> 00090CFE S WM_NCACTIVATE fActive:True
<00008> 00090CFE R WM_NCACTIVATE
<00009> 00090CFE S WM_ACTIVATE fActive:WA_CLICKACTIVE fMinimized:False hwndPrevious:(null)
<00010> 00090CFE S WM_IME_SETCONTEXT fSet:1 iShow:C000000F
<00011> 00090CFE S WM_IME_NOTIFY dwCommand:IMN_OPENSTATUSWINDOW dwCommand:00000002 dwData:00000000
<00012> 00090CFE R WM_IME_NOTIFY
<00013> 00090CFE R WM_IME_SETCONTEXT
<00014> 00090CFE S WM_SETFOCUS hwndLoseFocus:(null)
<00015> 00090CFE R WM_SETFOCUS
<00016> 00090CFE R WM_ACTIVATE
Now happens the second click (which works)
<00017> 00090CFE S WM_PARENTNOTIFY fwEvent:WM_LBUTTONDOWN xPos:25 yPos:17
<00018> 00090CFE R WM_PARENTNOTIFY
<00019> 00090CFE S WM_WINDOWPOSCHANGING lpwp:0418E40C
<00020> 00090CFE R WM_WINDOWPOSCHANGING
查看 Spy++ 日志,我认为问题出在激活上,我认为如果窗口被激活,它只会收到 WM_LBUTTONDOWN 事件。但是为什么其他窗口没有被激活,但它们仍然可以单击一次(即我不必先单击它)。
编辑: 我认为问题出在 ToolStrip 上。我的 AppBar 中有一个 ToolStrip。现在我如何验证这一点?那么在同一个表单上,我创建了一个按钮并在其点击事件中显示了一个消息框,它工作正常。现在如何补救?
最佳答案
好吧,我终于想通了(为了后代的利益)这就是正在发生的事情。问题不在于 Form 而在于 ToolStrip(我相信可以在 Word 中重现)。此功能是设计使然,而不是错误。在 WM_MOUSEACTIVATE 消息,在 ToolStrip 的 WndProc 中,它返回激活窗口的 MA_ACTIVATEANDEAT,即给它焦点,但丢弃鼠标消息,这就是我们必须单击两次的原因因为第一个鼠标消息被丢弃了。
现在解决方案?在派生类中重写 ToolStrip 的 WndProc,而不是将 Message.Result 属性设置为 MA_ACTIVATEANDEAT,而是将其设置为 MA_ACTIVATE 。这是有关如何操作的教程。 How to enable "click through" for .NET 2.0 ToolStrip and MenuStrip
希望对您有所帮助:)
关于c# - AppBar 焦点问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3109301/
在 app_bar.dart 文件中提到,海拔控制应用栏下方阴影的大小,并且默认情况下,如果没有内容在 AppBar 下滚动,则不会绘制阴影。 这是我的代码: Scaffold( appBar:
我正在创建一个 GlobalPage/FrameHoster,其中将包含我的 AppBar,然后创建一个将托管我的所有应用程序页面的 Frame 控件。除了一些页面导航控件被应用栏隐藏之外,这一切都很
我正在尝试实现 flutter_tagging里面AppBar .我设法添加了标签 TextField里面AppBar并调整 AppBar使用 PreferredSize使用以下代码的小部件: ret
我的 AppBar 在屏幕上的图像后面或者我看不到它,有什么建议可以在顶部显示我的 AppBar 和 buttomNavigator 并且是半透明的吗? Widget build(BuildConte
我的应用栏上有两个图标,点击保存保存图标消失,批准图标会弹出它工作正常,但根据下图在大屏幕上通过应用栏图标剪切。这是我的代码 appBar: PreferredSize( preferre
我想在容器上的 DoubleTap 上动态隐藏和显示 App Bar,并在隐藏时使用一些动画,但此链接的解决方案不适用于我的项目:Flutter - How can I dynamically sho
自定义应用栏的屏幕截图: 我想制作一个像照片一样的自定义应用栏任何人都可以帮助我创建这个我已经搜索了很多但没有找到任何地方 最佳答案 我不认为它是一个圆形的appBar,而是它下面的一个圆形的容器。
嘿,我正在创建底部应用栏并向其添加 3,应用栏按钮,如下所示。一个使用内置图标,另外两个使用位图图标 带有位图图标的 AppBarButton 在设计 View 中正确显示,即包含在
自定义应用栏的屏幕截图: 我想制作一个像照片一样的自定义应用栏任何人都可以帮助我创建这个我已经搜索了很多但没有找到任何地方 最佳答案 我不认为它是一个圆形的appBar,而是它下面的一个圆形的容器。
嘿,我正在创建底部应用栏并向其添加 3,应用栏按钮,如下所示。一个使用内置图标,另外两个使用位图图标 带有位图图标的 AppBarButton 在设计 View 中正确显示,即包含在
代码:
我创建了一个 AppBar。 AppBar 始终保持在顶部,当它失去焦点时,返回到 AppBar 需要点击两次而不是一次。我相信第一次点击会激活表单,然后第二次点击我会收到鼠标点击事件(如预期的那样)
我制作了一个简单的 appBar,在屏幕顶部只有一个标签可以缩小桌面,但我无法让它显示为我的第二台显示器。我一直在四处寻找,但我发现的一切都是针对 WPF 的。这些很可能是我犯错的地方,但如果您需要查
当你想让你的应用扩展到全屏时(包括状态栏和应用栏),你必须这样做: var applicationView = Windows.UI.ViewManagement.ApplicationView.Ge
我写了一个应用程序桌面工具栏(又名 AppBar),它工作得很好,除了如果我终止进程,AppBar 代码永远没有机会通过发送 ABM_REMOVE 来清理。问题是这基本上搞砸了用户的桌面。 AppBa
我开始使用 React/Material-UI,也是 CSS 等的新手...我有一个带有 APPBar 的简单页面布局。不幸的是,此 AppBar 与本应位于其下方的元素重叠。 我找到了这个答案: A
我正在开发的 Windows 应用商店应用的主页上有两个 AppBar。一个在顶部用于导航,另一个在下方用于命令。 显然,我希望 AppBars 在单击新命令按钮后关闭。下面的代码可以工作,但看起来很
我的布局中有一个 AppBar 和一个水平线性布局(其中包括一个编辑文本和两个图像按钮)和其他内容。当用户向下滚动时,我想要 AppBar(实际上,Toolbar 隐藏。这是我尝试过的,appbar
我有一个应用栏,我想在其中显示标题,然后在它旁边有一个凸起的按钮,该按钮会展开以填充剩余的水平空间。我试过这个的变体: AppBar( title: Row( children: [
我正在尝试为我的所有屏幕使用相同的 Appbar,但我不想多次添加相同的代码,因此我考虑创建具有默认 Appbar 的类 MyAppbar,以便我可以使用它在我的屏幕上没有重复相同的代码,但我不知道我
我是一名优秀的程序员,十分优秀!