c#在panel或groupbox中添加窗体,实现点击不同按钮或combox时panel中窗体切换,在xtratabcontrol中添加窗体
参考panel添加窗体:
http://blog.csdn.net/illegalname/article/details/65444249
http://blog.csdn.net/Eastmount/article/details/21461275


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms; namespace WindowsFormsPanel
{
public partial class Form1 : Form
{
CSUHForm2 win1 = new CSUHForm2();
UHForm2 win2 = new UHForm2();
CamClayForm2 win3 = new CamClayForm2();
// win1 =new CSUHForm2 ();
//win2=new UHForm2 ();
//win3=new CamClayForm2 ();
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{ } private void groupBox1_Enter(object sender, EventArgs e)
{ } private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox1.SelectedIndex > -)
{
switch (comboBox1.SelectedItem.ToString())
{
case "CSUH":
{ this.groupBox1.Controls.Clear();
win1.TopLevel = false;
win1.FormBorderStyle = FormBorderStyle.None;
win1.Dock = System.Windows.Forms.DockStyle.Fill; // 填充panel
this.groupBox1.Controls.Add(win1); // 添加w1窗体
win1.Show(); this.panel1.Controls.Clear(); // 清空原有的控件
win1.TopLevel = false; // 非顶级窗口
win1.FormBorderStyle = FormBorderStyle.None; // 不显示标题栏
win1.Dock = System.Windows.Forms.DockStyle.Fill; // 填充panel
this.panel1.Controls.Add(win1); // 添加w1窗体
win1.Show(); } break;
case "UH":
{
this.groupBox1.Controls.Clear();
win2.TopLevel = false;
win2.FormBorderStyle = FormBorderStyle.None;
win2.Dock = System.Windows.Forms.DockStyle.Fill; // 填充panel
this.groupBox1.Controls.Add(win2); // 添加w1窗体
win2.Show(); this.panel1.Controls.Clear(); // 清空原有的控件
win2.TopLevel = false; // 非顶级窗口
win2.FormBorderStyle = FormBorderStyle.None; // 不显示标题栏
win2.Dock = System.Windows.Forms.DockStyle.Fill; // 填充panel
this.panel1.Controls.Add(win2); // 添加w1窗体
win2.Show();
} break;
case "CamClay":
{
this.groupBox1.Controls.Clear();
win3.TopLevel = false;
win3.FormBorderStyle = FormBorderStyle.None;
win3.Dock = System.Windows.Forms.DockStyle.Fill; // 填充panel
this.groupBox1.Controls.Add(win3); // 添加w1窗体
win3.Show(); this.panel1.Controls.Clear(); // 清空原有的控件
win3.TopLevel = false; // 非顶级窗口
win3.FormBorderStyle = FormBorderStyle.None; // 不显示标题栏
win3.Dock = System.Windows.Forms.DockStyle.Fill; // 填充panel
this.panel1.Controls.Add(win3); // 添加w1窗体
win3.Show();
}
//dataGridView1.BackgroundColor = Color.Red;
break;
}
} } }
}
panel加载窗体
在groupbox中添加窗体:



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms; namespace LabOpt2
{
public partial class Form2GASetting : Form
{
public Form2GASetting()
{
InitializeComponent(); //在Form2GASetting的panel中添加gridcontrol
Form3CSUHConstitutiveSetting ModelParaSettingWin = new Form3CSUHConstitutiveSetting();//实例化一个参数设定窗口的实例化
ModelParaSettingWin.TopLevel = false; // ModelParaSettingWin设为非顶级窗口
ModelParaSettingWin.FormBorderStyle = FormBorderStyle.None; // ModelParaSettingWin设定为不显示标题栏
ModelParaSettingWin.Parent = panel1ModelParaSetting;// 将ModelParaSettingWin这个窗体的父容器设定为panel1ModelParaSetting这个panel,有无这句都行
ModelParaSettingWin.Dock = System.Windows.Forms.DockStyle.Fill; // 将窗体铺满这个panel
this.panel1ModelParaSetting.Controls.Add(ModelParaSettingWin);
ModelParaSettingWin.Show();//显示SpreadSheetReadWin窗体在主窗体的panelCtrols1中 //在Form2GASetting的groupcontrol组中添加gridcontrol
Form3CSUHConstitutiveSetting ModelParaSettingWin2 = new Form3CSUHConstitutiveSetting();//实例化一个参数设定窗口的实例化
ModelParaSettingWin2.TopLevel = false; // ModelParaSettingWin设为非顶级窗口
ModelParaSettingWin2.FormBorderStyle = FormBorderStyle.None; // ModelParaSettingWin设定为不显示标题栏
ModelParaSettingWin2.Parent = groupControl1ModelParaSetting;// 将ModelParaSettingWin这个窗体的父容器设定为panel1ModelParaSetting这个panel,有无这句都行
ModelParaSettingWin2.Dock = System.Windows.Forms.DockStyle.Fill; // 将窗体铺满这个panel
this.groupControl1ModelParaSetting.Controls.Add(ModelParaSettingWin2);
ModelParaSettingWin2.Show();//显示SpreadSheetReadWin窗体在主窗体的panelCtrols1中
} private void comboBoxEdit1SelectModel_SelectedIndexChanged(object sender, EventArgs e)
{
switch (comboBoxEdit1SelectModel.SelectedItem.ToString())
{
case "CSUH":
{ MessageBox.Show("选择了CSUH"); }
break;
case "UH":
{
//Form3CSUHConstitutiveSetting ModelParaSettingWin = new Form3CSUHConstitutiveSetting();//实例化一个参数设定窗口的实例化
//ModelParaSettingWin.TopLevel = false; // ModelParaSettingWin设为非顶级窗口
//ModelParaSettingWin.FormBorderStyle = FormBorderStyle.None; // ModelParaSettingWin设定为不显示标题栏
//ModelParaSettingWin.Parent = panel1ModelParaSetting;// 将ModelParaSettingWin这个窗体的父容器设定为panel1ModelParaSetting这个panel,有无这句都行
//ModelParaSettingWin.Dock = System.Windows.Forms.DockStyle.Fill; // 将窗体铺满这个panel
////Form3CSUHConstitutiveSetting.gridControl1ParaRange
//this.panel1ModelParaSetting.Controls.Add(ModelParaSettingWin);
//// ModelParaSettingWin.SelectedTabPage = xtraTabPageInputExcel;//在xtraTabControl1Form1这个tabcontrol中显示第一页即xtraTabPageInputExcel
////xtraTabPageInputExcel.Controls.Add(SpreadSheetReadWin); //在xtraTabPageInputExcel这个page中添加SpreadSheetReadWin窗体
//ModelParaSettingWin.Show();//显示SpreadSheetReadWin窗体在主窗体的panelCtrols1中
////Form3CSUHConstitutiveSetting.panel1ModelParaSetting
MessageBox.Show("选择了CSUH"); } break;
case "ModifiedCamClay":
{
MessageBox.Show("选择了ModifiedCamClay模型");
}
break;
case "CamClay":
{
MessageBox.Show("选择了CamClay模型");
}
break;
}
} private void panel1ModelParaSetting_Paint(object sender, PaintEventArgs e)
{ }
}
}
groupbox中添加form

怎样切换page呢:

xtraTabControl1.SelectedTabPage = xtraTabPage2;
xtraTabControl3.SelectedTabPage = xtraTabPage7;
private void barButtonItem10_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{ Form2GASetting GaSettingWin = new Form2GASetting();
//this.panelControl1.Controls.Clear(); // 清空主窗体panelCtrols1内原有的控件
//SpreadSheetReadWin.Hide ();//这一句可以代替上面的清除语句
GaSettingWin.TopLevel = false; // SpreadSheetReadWin非顶级窗口
GaSettingWin.FormBorderStyle = FormBorderStyle.None; // 不显示标题栏
GaSettingWin.Dock = System.Windows.Forms.DockStyle.Fill; // 填充panel
//this.panelControl1.Controls.Add(GaSettingWin); // 添加SpreadSheetReadWin窗体
this.panelControl1.Controls.Add(xtraTabControl1Form1);//用这个选项卡填充panel
xtraTabControl1Form1.SelectedTabPage = xtraTabPageSetting;//在Form1中的xtraTabControl1Form1这个tabcontrol中显示第二页即xtraTabPageSetting
xtraTabPageSetting.Controls.Add(GaSettingWin);
GaSettingWin.Show();//显示SpreadSheetReadWin窗体在主窗体的panelCtrols1中
}
在tabpage中添加窗体
在xtratabcontrol中添加窗体:
http://www.cnblogs.com/w2011/archive/2013/02/18/2915794.html
c#在panel或groupbox中添加窗体,实现点击不同按钮或combox时panel中窗体切换,在xtratabcontrol中添加窗体的更多相关文章
- Winforn中使用FastReport实现点击导出按钮PDF预览并弹出另存为对话框
场景 FastReport安装包下载.安装.去除使用限制以及工具箱中添加控件: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...
- scrapy爬虫,cmd中执行日志中显示了爬取的内容,但是运行时隐藏日志后(运行命令后添加--nolog),就没有输出结果了
cmd下执行scrapy爬虫程序,不报错也没有输出,解决方案 想要执行parse能够在cmd看到parse函数的执行结果: 解决方法: settings.py 中设置 ROBOTSTXT_OBEY ...
- 弹框勾选datatable中的数据,点击保存后添加到另一个表中,同一个页面
需求描述:做编辑的时候,点击添加按钮,弹出数据表table2,勾选弹出框中的数据,点击保存后能够添加到table1中,并且已经被添加到table1中的数据,在弹出框中显示已选,checkbox隐藏:t ...
- 改变 Panel 跟 groupbox边框样式
更改panel和groupbox的边框颜色因为在控件的属性中没有设置边框颜色的属性只有一个设置边框样式,遂在网络中搜寻出一下方法: panel的边框颜色在paint中重新对颜色进行定义 private ...
- 点击不同按钮生成不同窗体到某个panel上面,类似Frame用法--不错
//点击不同按钮生成不同页面加载到某个panel上面.procedure TMainForm.DemoButtonClick(Sender: TObject); var NewDemoClass: T ...
- 每日学习心得:SharePoint 为列表中的文件夹添加子项(文件夹)、新增指定内容类型的子项、查询列表中指定的文件夹下的内容
前言: 这里主要是针对列表中的文件下新增子项的操作,同时在新建子项时,可以为子项指定特定的内容类型,在某些时候需要查询指定的文件夹下的内容,针对这些场景都一一给力示例和说明,都是一些很小的知识点,希望 ...
- C#中添加三个线程同时启动执行某一方法,并依次调用某方法中的循环打印输。
添加三个线程同时启动执行某一方法,并依次调用某方法中的打印输:ABC ABC ABC ABC 实现代码如下: using System; using System.Collections.Generi ...
- 在页面上绘制一张表格,使用 DOM 节点的动态添加和删除向表格中插入数据,点击表格每行后的“删除”超链接
查看本章节 查看作业目录 需求说明: 在页面上绘制一张表格,使用 DOM 节点的动态添加和删除向表格中插入数据,点击表格每行后的"删除"超链接,使用 DOM 节点的删除操作将对应的 ...
- 从头开始一步一步实现EF6+Autofac+MVC5+Bootstarp极简前后台ajax表格展示及分页(二)前端修改、添加表格行点击弹出模态框
在前一篇中,由于不懂jquery,前端做的太差了,今天做稍做修改,增加一个跳转到指定页面功能,表格行点击样式变化.并且在表格中加入bootstarp的按钮组,按钮点击后弹出模态框,须修改common, ...
随机推荐
- 【分布式架构】“spring cloud”与“dubbo”微服务的对比
秉承站在巨人的肩膀上,同时我也不想重复制造轮子,我发现了一系列关于“分布式架构”方面,我需要,同时能够解决我的一些疑惑.问题的博客,转载过来,原文链接: http://blog.csdn.net/ ...
- java中元注解有四个
@Retention @Target @Document @Inherited: @Retention:注解的保留位置 @Retention(RetentionPolicy.SOURCE) // ...
- java_2变量和运算符
1.变量 存储数据的容器. 2.变量创建的3要素 数据类型 变量名 = 变量值: 如int a = 10; 3.数据类型的自动转化 当小范围变量向大范围变量转化的时候,会发生这种情况.如int类型变 ...
- Beyound Compare中比较java字节码class文件
背景 项目维护的时候版本混乱或者外出在现场项目排错的时候难免要比对两个jar/class/war文件的源代码. 通常情况下这个时候我们用jd-gui直接把文件拖进去比对,这种情况只适合单一文件的比对. ...
- materia官网地址
https://materializecss.com/autocomplete.html
- An enumerable sequence of parameters (arrays, lists, etc) is not allo
环境:dapper asp.net core 出错代码如下: public Task<IEnumerable<dynamic>> GetList(string query, p ...
- Informatica_(3)组件
一.Informatica介绍Informatica PowerCenter 是Informatica公司开发的世界级的企业数据集成平台,也是业界领先的ETL工具.Informatica PowerC ...
- Task 和 ThreadPool
在C#中 TASK 和 ThreadPool 都可以完成多任务并行的工作.但是 TASK实际上是微软定义好的,基于 ThreadPool 的一个类.这里面微软做了很多优化工作. Task Parall ...
- 希尔排序和归并排序(java实现)
希尔排序 希尔排序算法实际上是一种特殊的插入排序,由DL.Shell于1959年提出而得名. 算法思想:希尔排序使数组中任意间隔为h的元素都是有序的,这些数组称为h有序数组,对于每个h,按插入排序进行 ...
- egg 为企业级框架和应用而生, 阿里出品
https://eggjs.org/zh-cn/intro/ egg 是什么? egg 为企业级框架和应用而生,我们希望由 egg 孕育出更多上层框架,帮助开发团队和开发人员降低开发和维护成本. 设计 ...