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