我要做4个界面 1个主菜单界面可以转到其他3个功能界面
3个功能界面之间可以任意切换开始用panel做的 切换时界面中的图片老出现短暂的空白
然后就改用几个窗体之间的切换
切换代码:
private void pictureBox1_Click(object sender, EventArgs e)
{
Form2 fr2 = new Form2();
fr2.Show();
this.Hide();
}
可是这样做切换几次就出错了
提示:“已关闭 safe handle”
请问要怎么该啊???
求各位大神帮下忙。
3个功能界面之间可以任意切换开始用panel做的 切换时界面中的图片老出现短暂的空白
然后就改用几个窗体之间的切换
切换代码:
private void pictureBox1_Click(object sender, EventArgs e)
{
Form2 fr2 = new Form2();
fr2.Show();
this.Hide();
}
可是这样做切换几次就出错了
提示:“已关闭 safe handle”
请问要怎么该啊???
求各位大神帮下忙。
/// 用户管理
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnUserManage_Click(object sender, EventArgs e)
{
//加载用户管理窗体
SysManagement.User.UserManage userMan = new Acctrue.DMP.Win.SysManagement.User.UserManage();
userMan.FormBorderStyle = FormBorderStyle.None;
userMan.Dock = DockStyle.Fill;
userMan.TopLevel = false;
this.pnlMainForm.Controls.Clear();
this.pnlMainForm.Controls.Add(userMan);
userMan.Show();
} /// <summary>
/// 系统消息
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnSystemMgs_Click(object sender, EventArgs e)
{
//加载系统消息窗体
SystemInfo.SysInfoDisPlay sysInfo = new Acctrue.DMP.Win.SystemInfo.SysInfoDisPlay();
sysInfo.FormBorderStyle = FormBorderStyle.None;
sysInfo.Dock = DockStyle.Fill;
sysInfo.TopLevel = false;
this.pnlMainForm.Controls.Clear();
this.pnlMainForm.Controls.Add(sysInfo);
sysInfo.Show();
}
我就是用pane控件加载的
{
this.Controls.Clear();
this.Controls.Add(this.panelPwer);
this.panelPwer.Dock = DockStyle.Fill;
}
可是这样 切换时就要刷新下界面 图片就会出现很短暂的空白
this.Hide();
改成this.Close();
不行的 close我试过了
这个也可以 比过你隐藏到托盘的图片必须是ico格式的
this.notifycon1.Visible = false;//窗体初始化时这是隐藏到托盘的代码
private void btnHide_Click(object sender, EventArgs e)
{
//系统托盘显示图标
this.notifycon1.Visible = true;
//隐藏主界面
this.Visible = false;
}