0

.Net (または pinvoke 経由) で、ウィンドウ フォームがビューから遮られているかどうかを判断することは可能ですか (つまり、他のウィンドウがその上に移動されているため、表示されません)。私がやっていることは、フォームが最小化されているかどうかを確認し、最小化されている場合はタスクバーのウィンドウを点滅させることです。ただし、問題は、最小化されておらず、バックグラウンドに移動しただけの場合、タスクバーのウィンドウを点滅させてユーザーに通知したいことです。ウィンドウを自動的にフォアグラウンドに移動したくありません (アクティベートしなくても)。それをクリックして、フォームを最大化および/または表示してもらいたいです。アイデア?

ここにいくつかのコードがあります:

                    // この人物との会話がすでにあるかどうかを確認します
                    var frm = theApp.GetConversationByUID(fromuid);
                    if (from == null)
                    {
                        frm = theApp.NewConversation(fromuid, fromname);
                    }
                    そうしないと
                    {
                        bool withinView = frm.WindowState != FormWindowState.Minimized;
                        if (ビュー内)
                        {
                            // ウィンドウが遮られているだけかどうかを判断する
                            //TODO
                        }

                        // 会話ウィンドウが表示されていない場合は、フラッシュします
                        if (!withinView)
                        {
                            FlashWindow.Flash(から);
                        }
                    }

4

1 に答える 1

1

このコードを試してください。

于 2010-06-23T20:32:43.840 に答える