0

那么,发生了什么,我失去了从 Excel 应用程序到 PowerPoint 应用程序的焦点?

更新: 您的答案是正确的(+1 分),但这是我的错,因为没有解释完整的问题(我认为这很简单)。因此,问题陈述扩展为:从 MS PowerPoint,我打开 MS Excel,从中打开 ColorDialog。因此,问题是获得调用 Excel 应用程序的 IWin32Window 所有者(或其句柄)。

我使用了 如何将所有者窗口传递给 Show() 方法重载的修改后的解决方案?找到 IWin32Window 所有者,它可以工作。

但是,即使这样做,焦点也会回到父 PowerPoint 应用程序。

那么,发生了什么,我失去了从 Excel 应用程序到 PowerPoint 应用程序的焦点?

4

1 回答 1

1

如果您从其他表单启动表单,则应将其设置OwnerColorDialog:

if (dlg.ShowDialog(this) == DialogResult.OK)  //"this" being the owner form
于 2013-06-18T17:01:53.447 回答