我有一个出现在计时器上的无模式单例形式。
如果表单所属的应用程序是活动应用程序但表单不在顶部,我希望表单显示在应用程序的所有其他窗口之上。如果用户再点击它以将其推到应用程序的其他窗口后面,则由用户决定。
如果表单所属的应用程序不是活动应用程序,那么我希望任务栏图标闪烁(这是有效的),并且我希望表单只显示在该应用程序中的所有其他应用程序之上,因此当用户回到它,它是由他们来处理。
我尝试过使用form.BringToFront()
和form.TopMost = true; form.TopMost = false;
,但这两种解决方案都将表单带到了所有应用程序的顶层。如果他们在其他计划中工作,我不想惹恼我的用户。
有没有办法达到我想要的目的?
表格激活功能:
public static RemindersList CreateInstance(List<Reminder> rs)
{
if (_singleton == null)
{
_singleton = new RemindersList(rs);
_singleton.Activate();
_singleton.TopMost = true;
_singleton.TopMost = false;
// Flash in taskbar if not active window
FlashWindow.Flash(_singleton);
return _singleton;
}
else
{
_singleton.TopMost = true;
_singleton.TopMost = false;
// Flash in taskbar if not active window
FlashWindow.Flash(_singleton);
return null;
}
}
答案 0 :(得分:0)