- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我通过将位图的构建操作设置为Splashscreen来使用WPF中的SplashScreen功能。在启动屏幕后面,正在检查许可信息,如果失败,我会显示一个 MessageBox。
根据这个Feedback ,这是因为 MessageBox.Owner 是启动屏幕,一旦另一个窗口打开,即使它是 MessageBox,启动屏幕窗口也会关闭,进而关闭 MessageBox,因此用户永远不会看到 MessageBox。
因此,解决方法是将 MessageBox.Owner 设置为另一个窗口,但这意味着我必须实例化另一个可能不需要的窗口。
是否可以将 MessageBox.Owner 设置为桌面窗口?以及如何实现,因为唯一想到的其他函数是 GetDesktopWindow() api 函数,但它返回一个窗口句柄,而 MessageBox.Owner 是一个 WPF 窗口。
最佳答案
由于使用桌面窗口作为模式对话框的父窗口并不是一个好主意,正如 @Nir 在他的回答中指出的那样,这里还有其他三种解决方法:
1) 使用隐藏窗口。创建一个微小的非模式窗口作为 MessageBox 或其他模式对话框的父窗口。这种方法的描述如下:
http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/116bcd83-93bf-42f3-9bfe-da9e7de37546/
2) 创建非模式消息窗口。将启动模式更改为显式关闭并使用非模式窗口来显示消息。此 StackOverflow 问题的答案中描述了此方法:
MessageBox with exception details immediately disappears if use splash screen in WPF 4.0
3) 调用MessageBox两次。显然,该问题仅影响显示的第一个模式对话框。因此,如果您不介意第一次打开和关闭时的闪烁,您可以简单地调用模态对话框两次。
就我个人而言,我不喜欢这些解决方法。唯一的其他选择是避免内置的 SplashScreen 功能并从头开始创建自己的 SplashScreen 功能。如果您想进一步调查该路线,请点击以下链接:
http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/8dd49fd0-9cc9-43c6-b285-6f119ab8a32e/
最后,如果你和我一样对这个问题感到恼火,你可以在这里投票支持微软修复这个错误:
关于wpf - 如何将 wpf MessageBox.Owner 设置为桌面窗口,因为 SplashScreen 关闭 MessageBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/576503/
到目前为止,我能够允许用户编辑他自己的帖子,但每当我通过 if he's owner of the subreddit/category 条件时,它就会完全停止工作。 我有这3张 table User
到目前为止,我能够允许用户编辑他自己的帖子,但每当我通过 if he's owner of the subreddit/category 条件时,它就会完全停止工作。 我有这3张 table User
我正在通过一本书学习 Spring 和 Hibernate,并且有一个可选练习来使用 Hibernate 创建多对多关系。不幸的是,作者没有在 GitHub 上提供可选示例,我在调试一些我不熟悉的东西
在下面的类中,“owner”参数对 myClass 和基类做了什么? public class Base { public myClass(owner) : base (owner) { }
我有这个架构:(简化) class A { container c } class B { A* owner } 这些类位于不同的头文件中,对于这种架构,我必须包括: B.h in A
您可能已经注意到我们现在在社区 Wiki 帖子上显示编辑摘要: community wiki 220 revisions, 48 users 我还想显示“最拥有”页面上显示的最终内容的用户,作为剩余文
我想用测试所有者标记每个测试(或者可能只是每个文件)。当测试失败时,我想包含一个与所有者的打印声明。使用默认的 pytest 功能可以实现类似的功能吗?我想不出任何方法来判断测试是否失败,这是第一步。
我不了解 Airflow 中的“所有者”。 ower 的注释是“任务的所有者,建议使用 unix 用户名”。 我写了一些以下代码。 Default_args = { 'owner': 'max'
[on web] 尝试在 FittedBox 中放入一些小部件像这样 : FittedBox( fit: BoxFit.scaleDown, child: AnimatedContain
我的堆直方图告诉我我正在使用大量字符数组 ([C)、字节数组 ([B)、哈希节点和锁。 What tool will tell me who 'owns' these character arrays
在 XAML 窗口中隐藏此代码我错过了什么 //创建一个窗口并让这个窗口成为它的所有者窗口 ownedWindow = new Window();ownedWindow.Owner = this;ow
我认为以下伪代码很好地总结了我的问题...... class Owner { Bar b = new Bar(); dostuff(){...} } class Bar {
我正在尝试禁用除“neta”组成员之外的所有用户对 IP 1.2.3.4 的访问。这是我专门为此创建的一个新组。 iptables -I OUTPUT -o eth0 -p tcp -d 1.2.3.
数据库用户 一个 应该只能访问特定数据。 此数据目前由 View 提供B.VIEW1 从架构拥有的表中选择 乙 和 C . CREATE VIEW [B].[VIEW1] AS SELECT * FR
我正在查看this question我现在想知道,在组件构造函数中 nil 作为所有者是什么意思。 SomeComponent := TSomeComponent.Create(nil); 我知道,在
所以我从这些简单的例子中学习,有 2 个表,USERS 和 USER_DETAILS,足够简单,每个用户都有 user_details 并且它是一对一的关系。所以这个样本是这样的, @Entity @
我(正在尝试)开发一个Web应用程序系统,它处理用户请求和计算,并通过扩展Threads和Runtime.exec()(在Linux和/或Windows上)将它们传递到服务器上的(定制的)可执行文件)
我正在做并发问题作业。我有许多线程执行特定的操作,并且有一个方法决定这些线程何时可以访问资源。 所以我的类看起来像这样: public class Boss extends ReentrantLock
MSDN documentation状态: When a form is owned by another form, it is closed or hidden with the owner fo
我有以下场景:“电话”子表可以通过连接表为多个父表提供服务,如下所示: CREATE TABLE phone ( id BIGINT AUTO_INCREMENT, number VA
我是一名优秀的程序员,十分优秀!