c# - C#一次两个Form在闪烁,焦点在切换
问题描述
我一次打开两个表单,我看到两个表单都在闪烁并且焦点在两者之间切换的问题。知道有什么问题吗?
两种形式都应该在不同的显示中,但我也可以在 4K 显示器中重现这种行为。在这个 4K 显示器上,表格有点被覆盖,我看到 form 和 formTwo 闪烁。每一种形式都想成为最重要的。
在 formTwo 中是有动画的网站,当 formTwo 有焦点时。这个动画像两个窗体窗口一样闪烁。
form = new PresentationScreen("web", new Rectangle(0, 0, 1920, 1080));
form.StartPosition = FormStartPosition.Manual;
formTwo.FormBorderStyle = FormBorderStyle.None;
form.Left = 1920;
form.Top = 1080;
form.Show();
formTwo = new PresentationScreen("web", new Rectangle(0, 0, 1920, 1080));
formTwo.StartPosition = FormStartPosition.Manual;
formTwo.FormBorderStyle = FormBorderStyle.None;
formTwo.Show();
PresentationScreen 仅包含一个具有 CefSharp.WinForms.ChromiumWebBrowser 的面板:
public partial class PresentationScreen : Form {
private Panel mWebPanel;
ChromiumWebBrowser chromeBrowser;
private String mCurrentWeb;
protected override CreateParams CreateParams {
get {
CreateParams handleParam = base.CreateParams;
handleParam.ExStyle |= 0x02000000;
return handleParam;
}
}
public PresentationScreen(String type, String path, Rectangle resolution) {
InitializeComponent();
mWebPanel = new Panel();
mWebPanel.Size = new Size(resolution.Width, resolution.Height);
if (string.IsNullOrEmpty(path)) {
Program.logError("[PresentationScreen] path is empty!");
return;
}
if (String.Compare(type, "web") == 0) {
mCurrentWeb = path;
webPanel.Visible = true;
Program.InitializeChromium(); //TODO vlastni object
chromeBrowser = new ChromiumWebBrowser();
chromeBrowser.MaximumSize = new Size(resolution.Width, resolution.Height);
chromeBrowser.Load(mCurrentWeb);
// Add it to the form and fill it to the form window.
webPanel.Controls.Add(chromeBrowser);
chromeBrowser.Dock = DockStyle.Fill;
}
}
public void loadWeb(String web) {
mCurrentWeb = web;
chromeBrowser.Load(web);
}
public void useWebScript(String script) {
try {
chromeBrowser.ExecuteScriptAsync(script);
} catch (Exception ex) {
Program.logError("[PresentationScreen]: " + ex.Message);
}
}
}
我正在使用目标框架 .NET 4.6
解决方案
推荐阅读
- java - 发送数据包到我的世界服务器 Forge 1.16.5
- java - 如何计算快速排序算法中的比较次数?
- vba - VBA 从 Teradata 调用 SQL 查询遇到 3535 错误消息,而此 SQL 语句在 Teradata 中运行良好
- java - 未找到 Vaadin 前端文件夹
- mysql - mysql查询中的多个新变量
- vue.js - 如何在vue中将图像从文件输入转换为base64 url?
- java - searchStudentDetails() 方法不显示数据如何获取特定名称的详细信息?
- android - 在 useState 中设置路由参数值的正确方法
- javascript - 比较 2 个字符串模板
- python - TypeError:“系列”对象不能解释为整数