WPF 如何向QQ、MSN那样接受到消息时自动弹出窗体并置到最前端

沾上了甩不掉 2012-09-14 01:37:04
WPF一个主窗口,一个消息窗口,当收到消息时不管主窗口、子窗口什么状态(激活、非激活、最小化、最大化等),子窗口自动弹出并置最前,同时主窗口保持不变。
...全文
386 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
原野上的斗笠 2014-12-04
  • 打赏
  • 举报
回复
设置弹出窗体的Owner属性为主窗体,再设置ShowActivated为true,就可以了。 Window msgBox = new Window(); msgBox.ShowInTaskbar = false; msgBox.ShowActivated = true; if (msgBox != Application.Current.MainWindow) { msgBox.Owner = Application.Current.MainWindow; } msgBox.ShowDialog();
yhdkzy 2012-11-30
  • 打赏
  • 举报
回复
引用 8 楼 d6f9b 的回复:
搞定了,我把简单事情搞复杂了,谢谢各位.
怎么解决的?
沾上了甩不掉 2012-09-14
  • 打赏
  • 举报
回复
搞定了,我把简单事情搞复杂了,谢谢各位.
卿文天 2012-09-14
  • 打赏
  • 举报
回复
不是很清晰理解你的问题,给你个想法,在你收到消息的时候,去寻找子窗体的句柄,然后设置子窗口为激活状态和显示模式。
沾上了甩不掉 2012-09-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

Owner属性,ShowDialog()
[/Quote]

这样不行,消息窗口可能会多个,showdialog时主窗口也会弹出。
卿文天 2012-09-14
  • 打赏
  • 举报
回复
不是很理解,给个想法给你,当你收到消息后,去寻找要弹出的子窗口句柄,然后再设置这个子窗体为激活状态和显示模式。
cheng2005 2012-09-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

引用 1 楼 的回复:

用Popup window
详见:http://www.c-sharpcorner.com/uploadfile/mahesh/wpf-popup/


不能用这种方法,目前消息窗口已经形成,且相关功能已经完备,就差弹出窗口。消息窗口定义如下:

<Window x:Class="UC.MessagingWindow"
xmlns="http……
[/Quote]
做一个事情需要1,2,3步,你在不知道1,2怎么做的情况下就先把3做了,然后回过头来要求1和2需要支持3,你觉得这种做法合理吗?
DENQH 2012-09-14
  • 打赏
  • 举报
回复
Owner属性,ShowDialog()
沾上了甩不掉 2012-09-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

用Popup window
详见:http://www.c-sharpcorner.com/uploadfile/mahesh/wpf-popup/
[/Quote]

不能用这种方法,目前消息窗口已经形成,且相关功能已经完备,就差弹出窗口。消息窗口定义如下:

<Window x:Class="UC.MessagingWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
zhleiyang 2012-09-14
  • 打赏
  • 举报
回复
用Popup window
详见:http://www.c-sharpcorner.com/uploadfile/mahesh/wpf-popup/

110,526

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧