2

すべて、私は MDI WinForm アプリケーションの半分を超えており、これまでに行ったことをいくつかの異なるマシンでテストし始めました。すべてのマシン (Windows 7/Vista を実行) で次のエラーが見つかりました。エラーは、TaskBar とその中のアプリケーションの視覚的にアクティブな状態に関係しています。これは、画像を使用すると簡単になります。

A. 起動する準備ができているタスク バーにカーソルを合わせます。

アプリアイコンにカーソルを合わせる(マウス非表示)

B. アプリケーションをクリックすると、問題なく起動し、タスク バーに表示されます。これまでのところ問題ありません。

問題なく起動

C. 3 秒ほど待つと、アイコンがフェードアウトして非アクティブになるため、アイコンをクリックすると、今開いたアプリケーションを復元する代わりに、アプリケーションの別のインスタンスが起動されます!? フォームをクリックして最小化し、フォームを復元すると、この問題はなくなります!?

タスクバーのアクティブなアイコンが死ぬ

これは奇妙で、修正方法がわかりません。これは、アプリケーションのメイン フォームをクリックするまでタスク バーがまったく表示されないアプリケーションを起動するために .exe ファイルを使用するときにも現れます。私は本当に困惑しています。ここで何が起こっているのかについて誰かが何か考えを持っているなら、それは最も感謝されますか? 御時間ありがとうございます。

ノート。問題を、他の開いているフォームの背後で起動されているフォームに絞り込みました。this.TopLevel = true;フォームShownイベントなどで関連オプションを使用しましたが、何も機能していないようです...

4

2 に答える 2

2

全て、

これは追加することで解決しました

this.Activate();

finallyメインフォーム(MDI親フォーム)のShownイベントのブロック内。

お手数をおかけしますが、よろしくお願いいたします。

于 2012-04-16T10:24:08.777 に答える
2

アプリケーションが最初に起動されたときにフォーカスされず、クリックしてメイン フォームをアクティブにするまで Windows 7 のタスク バーに表示されないという同様の問題が発生しました。

本当の原因を突き止めることはできませんでしたが、フォームの Text プロパティの設定を OnLoad オーバーライドからコンストラクターに移動すると、問題は解決しました。非常に奇妙で、なぜそれが起こったのかわからないことに今でも悩まされています。

これがあなたに当てはまるかどうかはわかりませんが、コンストラクターの外でも Text を設定しているかどうかを知りたいです。

于 2012-03-30T13:09:51.883 に答える