我们正在使用LINQPad脚本对多个服务器上的多个进程进行一些轻量级监视 当检测到问题时,我们使用MessageBox:
System.Windows.Forms.MessageBox.Show(...)
不幸的是,这经常出现在主LINQPad窗口的后面
Show()方法有一个覆盖,它带有一个' Win32Window'参数:"在指定对象前面显示一个消息框"。
有没有办法获取LINQPad窗口对象?
将MessageBox放在桌面z顺序前面附近的其他建议?
感谢您的任何建议......
答案 0 :(得分:1)
即使您可以获得LINQPad的主窗口句柄,我怀疑您可以可靠地为其创建窗口,因为LINQPad的主机UI在具有自己的消息循环的单独应用程序域中运行。
一个简单的解决方法可能是编写自己的MessageBox.Show版本,它会打开一个始终位于顶部的自定义窗口,或者带有一个查找LINQPad进程窗口并确保它的定时器的窗口。总是高于它。
另一种选择是:
Util.ReadLine ("About to upload - Press Enter to continue");