【问题标题】:Determine if windows form is obstructed判断窗体是否被遮挡
【发布时间】:2011-03-07 12:32:02
【问题描述】:

是否可以在 .Net(或通过 pinvoke)中确定窗口窗体是否被遮挡(即其他窗口已移到其上方,因此无法看到)?我正在做的是检查表单是否最小化,如果是,则在任务栏上闪烁窗口。但是问题是如果它没有被最小化,而只是移动到后台,我还想通过在任务栏上闪烁窗口来通知用户。我不想自动将窗口移动到前台(即使没有激活)。我希望他们单击​​它以最大化和/或显示表单。想法?

这里有一些代码:

// 看看我们是否已经和这个人进行了对话 var frm = theApp.GetConversationByUID(fromuid); 如果(frm == null) { frm = theApp.NewConversation(fromuid, fromname); } 别的 { bool insideView = frm.WindowState != FormWindowState.Minimized; 如果(视图内) { // 判断窗口是否刚刚被遮挡 //去做 } // 如果会话窗口不在视图中,则将其闪烁 如果 (!withinView) { FlashWindow.Flash(frm); } }

【问题讨论】:

    标签: c# winforms activation topmost


    【解决方案1】:

    试试this code

    【讨论】:

    • Tergiver 的代码是正确的,早就应该给一个答案标记。固定。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多