WPFを使用してOutlook用アドインを作成しました。 「Flare」を除いてすべてが正しく機能しています。 WPFウィンドウが開くと、Outlookフォームに中央揃えされず、画面中央に開きます。私はCenterOwnerにWindowStartLocationを設定しましたが、これはそのトリックをしていないようです。センターOutlook WPFアドイン
0
A
答えて
0
Outlookの現在のインスタンスへの参照を取得し、そのインスタンスのApplicationオブジェクトにアクセスしてウィンドウのサイズと位置(左、上)を取得し、ウィンドウの位置を取得する数学を行うことができるはずです。似
何か:
Dim interopApplication As Outlook.Application = _
Me.ActiveExplorer().Application
With interopApplication.ActiveWindow
Dim _left = Me.Width - (.Width/2)
Dim _top = Me.Height - (.Height/2)
End With
これは、Outlookウィンドウが第1のモニタ上で、最大化されていることを想定。いくつかのよりロジックはコーリーからの指導で、その他の不測の
2
私のソリューションを世話をするために書かれなければなりません。
var sendToPulse = new Pulse_Outlook_Presentation.SendToPulse();
var interopApplication = Globals.ThisAddIn.Application;
var x = (interopApplication.ActiveWindow().Left + interopApplication.ActiveWindow().Width/2) - (sendToPulse.Width/2);
var y = (interopApplication.ActiveWindow().Top + interopApplication.ActiveWindow().Height/2) - (sendToPulse.Height/2);
OutlookWin32Window parentWindow = new OutlookWin32Window (Globals.ThisAddIn.Application.ActiveWindow());
sendToPulse.Left = x;
sendToPulse.Top = y;
0
蘭のアプリケーションがある最も単純な形式でVBAのanswer-、探している本を越えホストと私は現在のフォームへのショートカットです。
Private Sub UserForm_Initialize()
ProgressFrame.Caption = ""
Me.Left = Application.ActiveWindow().Left + Application.ActiveWindow().Width/2 - (Me.Width/2)
Me.Top = Application.ActiveWindow().Top + Application.ActiveWindow().Height/2 - (Me.Height/2)
End Sub
私は少しマッサージしなければなりませんでしたが、私は必要なものを正確に教えてくれました。うまくいけば私のためにWeb開発者に今戻ってください。私は、少なくとも私のマシンでは、デュアルモニター上の何ものとも勘違いする必要はありませんでした。私の最終的な解決策は以下の通りです。 –