2011-03-30 2 views
0


Outlook 2003用のC#アドインを作成しました。アドインは新しいメールフォームでコマンドバーを作成します。このコマンドバーには、[分類]ダイアログを開くためのボタンがあります。 ダイアログを開くには、MailItemインターフェイスのShowCategoriesDialogメソッドを使用します。Outlook 2003 vsto Add-in新しいメールウィンドウの背後にある[Add Categories]ダイアログボックス

Microsoft.Office.Interop.Outlook.MailItem item = (MailItem)inspector.CurrentItem; 
item.ShowCategoriesDialog(); 

これは問題なく動作しますが、いくつかのマシンでは、新しいメールウィンドウの後ろにウィンドウが表示されます。

あなたはそれを修正する方法を知っていますか?

アンドリーKozachuk、非常に私はぶっきらぼうオフ考えることができる

答えて

0

二つの方法を
、ありがとうございました。

1)(Inspector.WindowState)、おそらくmin、restore、showcat、またはmin/showcat/restoreへの参照を持つインスペクタの最小化と復元の組み合わせを試してください。 大きな解決策はありません。点滅する。 2)インスペクタを表示させているイベントの中からこれを実行している場合は、インスペクタが完全に実現されていない可能性があります。その場合、タイマーやバックグラウンドスレッドを使用して、少しでも猫のウィンドウを表示するのをやめてください(これはちょっとハッキリですが)。 3)Windows API EnumWindowsを使用して[カテゴリ]ウィンドウを見つけ、SetWindowPosを使用してzorderの先頭に戻します。 (おそらく良い解決策)。

私は、この特定のインスタンスではありませんが、多くの場合、Outlookでこの種の問題に遭遇しました。

+0

私はこの操作をボタンクリックで発生するイベントから実行しています。私はタイマーを試して、最小化/復元 - 助けにはなりません。私はOutlookを再インストールしようとしましたが、それは何の問題もなくなりました。 –