2013-06-18 42 views
0

那麼,發生了什麼,我失去了焦點從Excel應用程序到PowerPoint應用程序?您的回答是正確的(+1點),但它是我的錯,因爲沒有解釋完整的問題(我認爲這很簡單)。 因此,問題陳述擴展爲:從MS PowerPoint中打開MS Excel,從中打開ColorDialog。所以,問題是獲得調用Excel應用程序的IWin32Window所有者(或其句柄)。c#:VSTO - > MS Office應用程序失去焦點?

我使用了How do you pass the owner window to Show() method overload?的修改解決方案來查找IWin32Window所有者,並且它可以工作。

但是,即使這樣做,焦點可以追溯到父級PowerPoint應用程序。

那麼,發生了什麼,我失去了焦點從Excel應用程序到PowerPoint應用程序?

+1

你有什麼重點偷碼?當我嘗試它的時候會關注它,這不是你可以在代碼中輕鬆實現的東西('ColorDialog'沒有'Focus()') – Oren

回答

1

如果從不同的形式開展的形式,就應該設置爲ColorDialogOwner

if (dlg.ShowDialog(this) == DialogResult.OK) //"this" being the owner form 
相關問題