C#使用splitContainer显示窗体问题

这个是我截图,左边是固定的splitContainer.panel1,右边是我要显示的form窗体。
比如,这个图。我现在 点击 “确定增加” 后,我希望右边的窗体内容全部重载,或者 显示另外窗体的内容。但是我现在的方法不得行。
我左边按钮的代码如下:
public string thisFromStr = null;//jy,存储当前窗体的标识
public Form frm = null;//jy,静态窗体
#region 显示指定窗体,仅显示1个窗体
/// <summary>
/// 显示指定窗体,仅显示1个窗体
/// </summary>
/// <param name="frm1">窗体名称</param>
/// <param name="frmStr">窗体标识</param>
public void ShowForm(Form frm1, string frmStr)
{
splitContainer1.Panel2.Controls.Clear();//这里是清空panel2中的控件的。
//jy.MDI mdi = new jy.MDI();
//打开窗口,如果窗体资源被释放或者为空时
if (frm == null || frm.IsDisposed)
{
thisFromStr = frmStr;//赋值当前窗口标识
frm = frm1;
frm.TopLevel = false; //设置子窗体为非顶级窗体
frm.Parent = this.splitContainer1.Panel2;
//frm.BackColor = ColorTranslator.FromHtml("#a0a0a0");
//frm.MdiParent = this;
//frm.TopLevel = true;
//frm.TopMost = true;
frm.Show();
}
else
{
//激活窗体
if (thisFromStr == frmStr)
{
frm.Activate();
}
else
{
thisFromStr = frmStr;//赋值当前窗口标识
frm.Close();
frm = frm1;
frm.TopLevel = false; //设置子窗体为非顶级窗体
frm.Parent = this.splitContainer1.Panel2;
//frm.BackColor = ColorTranslator.FromHtml("#a0a0a0");
frm.Show();
}
}
}
#endregion
private void button4_Click(object sender, EventArgs e)
{
ShowForm(new 客户信息(), "kehuxinxi");
}
private void button5_Click(object sender, EventArgs e)
{
ShowForm(new 修改密码(), "editpassword");
}
目前,我右边的按钮是这样写的:
private void button1_Click(object sender, EventArgs e)
{
MDI mdi = new MDI();
//mdi.ShowForm(new 修改密码(), "mimaxiugia");
mdi.ShowForm(new 业务查询(), "yewuchaxun");
}但是这样写,右边panel2没有任何反应,还是我按钮点击前 输入信息的那个状态。
...全文
相关推荐
C# Winform 左侧菜单右边显示、子窗体显示在主窗体(子窗体当控件添加到Panel) 导航 抽屉
总结来说,C# Winform中的“C# Winform 左侧菜单右边显示、子窗体显示在主窗体(子窗体当控件添加到Panel) 导航 抽屉”是一个涉及到布局设计、用户交互以及自定义组件的综合问题。
C# Winform中利用SplitContainer实现动态子窗口切换
本文详细介绍了在C# Winform应用中,如何利用SplitContainer控件与Button实现流畅的动态子窗口切换。通过将子窗体设置为非顶级并嵌入面板,结合清晰的代码示例,解决了传统多Panel堆叠的性能与维护难题,帮助开发者构建结构清晰、用户体验良好的桌面应用界面。
C#重写SplitContainer收缩自定义控件
通过学习和实践这些知识点,开发者可以更好地理解和利用C#的窗体控件系统,提升应用程序的定制化程度和用户体验。
ArcGIS Engine+C#实例开发教程
**控件布局**:在窗体中添加MenuStrip(菜单栏)、StatusStrip(状态栏)、SplitContainer(分割容器)、TabControl等,以及ArcGIS专用控件,合理布置以实现功能区域划分
ArcGIS Engine + C# 实例开发教程.pdf
- 创建新项目,设置窗体属性,添加MenuStrip、StatusStrip、SplitContainer、TabControl等控件。 - 设置控件的Dock属性,使它们在窗体中自动填充或对齐。


