C# Windows 表单应用程序在打开新表单时显示背景
C# Windows Forms application showing background when opening new form
我目前正在用 C# 制作一个全屏应用程序,但遇到了一些问题。我有一个显示按钮的概览表。当您单击一个按钮时,它将打开一个新表单。 (概览表格和新表格都是全屏的)。问题是当新窗体打开时,它会暂时不显示任何内容(在全屏应用程序中看起来不太好)。那么有谁知道如何解决这个问题?你可以在这里找到代码:
打开新表单的代码:
void NewForm(Form form)
{
form.FormClosing += new FormClosingEventHandler(form_Closed);
form.Show();
Hide();
}
void form_Closed(Object sender, EventArgs e)
{
Show();
}
打开的表格之一:
public AdminPanelForm()
{
InitializeComponent();
SetStyle(ControlStyles.UserPaint, true);
SetStyle(ControlStyles.AllPaintingInWmPaint, true);
SetStyle(ControlStyles.DoubleBuffer, true);
}
private void AdminPanelForm_Shown(object sender, EventArgs e)
{
List<User> users = User.GetAllUsers();
foreach(User user in users)
{
ListViewItem lvi = new ListViewItem(user.UserName);
lvi.SubItems.Add(user.Role);
listUsers.Items.Add(lvi);
}
}
private void btnBack_Click(object sender, EventArgs e)
{
Close();
}
提前致谢!
在 form.Show()
之后添加 form.Update()
。否则,真正的表格重绘将延迟完成。最好先调用Hide
我目前正在用 C# 制作一个全屏应用程序,但遇到了一些问题。我有一个显示按钮的概览表。当您单击一个按钮时,它将打开一个新表单。 (概览表格和新表格都是全屏的)。问题是当新窗体打开时,它会暂时不显示任何内容(在全屏应用程序中看起来不太好)。那么有谁知道如何解决这个问题?你可以在这里找到代码:
打开新表单的代码:
void NewForm(Form form)
{
form.FormClosing += new FormClosingEventHandler(form_Closed);
form.Show();
Hide();
}
void form_Closed(Object sender, EventArgs e)
{
Show();
}
打开的表格之一:
public AdminPanelForm()
{
InitializeComponent();
SetStyle(ControlStyles.UserPaint, true);
SetStyle(ControlStyles.AllPaintingInWmPaint, true);
SetStyle(ControlStyles.DoubleBuffer, true);
}
private void AdminPanelForm_Shown(object sender, EventArgs e)
{
List<User> users = User.GetAllUsers();
foreach(User user in users)
{
ListViewItem lvi = new ListViewItem(user.UserName);
lvi.SubItems.Add(user.Role);
listUsers.Items.Add(lvi);
}
}
private void btnBack_Click(object sender, EventArgs e)
{
Close();
}
提前致谢!
在 form.Show()
之后添加 form.Update()
。否则,真正的表格重绘将延迟完成。最好先调用Hide