0
我有一個展望VSTO應用程序。我正試圖從我加載的窗體調用SeletNamesDialog。對話框出現了,它很好,它的模式很好,但它似乎將我的表單移動到Outlook應用程序後面。因此,在我選擇了一堆名稱並單擊確定後,對話框消失了,但我的表單不可見,除非我最小化Outlook(這顯然不理想)。在我的VSTO outlook應用程序中,爲什麼調用SelectNamesDialog.Display()將我的表單移到Outlook後面?
有沒有辦法避免這種情況發生?這裏是我用來加載對話框的代碼:
var app = new Application();
AddressList gal = app.ActiveExplorer().Session.GetGlobalAddressList();
var dlg = app.Session.GetSelectNamesDialog();
dlg.InitialAddressList = gal;
bool b = dlg.Display();
var sb = new StringBuilder();
foreach (Recipient r in dlg.Recipients)
{
sb.Append(r.Name + ";");
}
txtPeople.Text = sb.ToString();
當我嘗試redemtion我得到這個錯誤:試圖在OS Loader鎖內的託管執行。不要試圖在DllMain或圖像初始化函數中運行託管代碼,因爲這樣做會導致應用程序掛起。 – leora 2013-03-15 02:29:17
關於如何使其工作(通過outlook或贖回錯誤),您有任何建議 – leora 2013-03-15 02:42:10
該警告可以安全地忽略 - 它會被記錄,因爲Redemption在啓動時動態加載MAPI dll。您可以通過轉到Debug |來忽略該錯誤例外|託管調試助手並清除LoaderLock條目 – 2013-03-15 04:47:44