现在客户的机器上很多没有音箱,导致没有提示效果。想在主窗口因为模态窗口阻止不会正常响应时,使模态窗口抖动来增强提示效果。请问该如果实现?(窗口抖动的动画我会写,关键是弹出窗口如何得到这个消息)
没有园豆,如能解决,不胜感激。可提供小额筹谢。
有人问过这个问题:https://stackoverflow.com/questions/52390926/wpf-showdialog-click-owner-window-event
没有答案,但是有一个建议。
或者你换个思路,做成非模态窗体,用非模态窗体模拟模态窗体。我觉得这样可能会简单些。要不你就和客户商量下,放弃此奇葩需求吧。
你把模态换成TopMost是不是就好多了?
有的时候主窗体的其他操作确实需要被阻止啊
@madgecko: 想做的话还是能做,有副窗口的话主窗口事件一律不能触发,最简单的,
if(window.isexisted)return;或者消息阻断啥的...
但是得不偿失.简单的小功能需要复杂的逻辑去铺垫.
其实Showdialog内部也是调用了Show,
只不过置了一个变量_showingAsDialog=true
而当在show的时候会判断
else if (_showingAsDialog == true)
{
throw new InvalidOperationException(SR.Get(SRID.ShowDialogOnModal));
}
所以show不出来,或许你可以从有声音响这部分源码看一下有没有启发