Определите, не закрыта ли форма окна - PullRequest
0 голосов
/ 24 июня 2010

Можно ли в .Net (или через pinvoke) определить, не закрыта ли форма окна от просмотра (т.е. другие окна были перемещены поверх нее, поэтому ее нельзя увидеть)? То, что я делаю, проверяет, свернута ли форма, а затем мигает окно на панели задач, если это так. Однако проблема в том, что если он НЕ свернут, а просто перемещен в фоновый режим, я также хочу уведомить пользователя, мигнув окном на панели задач. Я не хочу автоматически перемещать окно на передний план (даже без активации). Я хочу, чтобы они щелкнули по нему, чтобы развернуть и / или показать форму. Идеи?

Вот код:

                    // See if we already have a conversation going with this person
                    var frm = theApp.GetConversationByUID(fromuid);
                    if (frm == null)
                    {
                        frm = theApp.NewConversation(fromuid, fromname);
                    }
                    else
                    {
                        bool withinView = frm.WindowState != FormWindowState.Minimized;
                        if (withinView)
                        {
                            // Determine if window is just obstructed
                            //TODO
                        }

                        // If the conversation window is not within view, then flash it
                        if (!withinView)
                        {
                            FlashWindow.Flash(frm);
                        }
                    }

1 Ответ

1 голос
/ 24 июня 2010

Попробуйте этот код .

...