目前,每当我使用 Firefox 将 Flash 窗口置于全屏模式时,只要焦点离开 Flash 屏幕到我的“始终在顶部”表单,Flash 就会立即退出全屏模式!即使我将表单设置为不在任务栏中显示,也会发生这种情况。现在必须有一些方法来解决这个问题,因为当 Java 程序失去焦点时,始终处于顶部的类似 Java 应用程序不会导致 Flash 播放器退出全屏模式。
有没有人对如何避免这种行为有任何想法?请注意,这不会发生在 Chrome 中,只会发生在 Firefox 中。
目前,每当我使用 Firefox 将 Flash 窗口置于全屏模式时,只要焦点离开 Flash 屏幕到我的“始终在顶部”表单,Flash 就会立即退出全屏模式!即使我将表单设置为不在任务栏中显示,也会发生这种情况。现在必须有一些方法来解决这个问题,因为当 Java 程序失去焦点时,始终处于顶部的类似 Java 应用程序不会导致 Flash 播放器退出全屏模式。
有没有人对如何避免这种行为有任何想法?请注意,这不会发生在 Chrome 中,只会发生在 Firefox 中。
您可以在不激活的情况下显示表单。这可以通过 Win32 扩展窗口样式WS_EX_NOACTIVATE实现。
您必须覆盖 Form 的 CreateParams 属性才能设置此样式:
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x08000000/*WS_EX_NOACTIVATE*/;
return cp;
}
}
但请注意,这种样式对表单有一些副作用,例如在移动过程中不再绘制它。