参考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中添加窗体的更多相关文章

  1. Winforn中使用FastReport实现点击导出按钮PDF预览并弹出另存为对话框

    场景 FastReport安装包下载.安装.去除使用限制以及工具箱中添加控件: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

  2. scrapy爬虫,cmd中执行日志中显示了爬取的内容,但是运行时隐藏日志后(运行命令后添加--nolog),就没有输出结果了

    cmd下执行scrapy爬虫程序,不报错也没有输出,解决方案 想要执行parse能够在cmd看到parse函数的执行结果: 解决方法: settings.py 中设置  ROBOTSTXT_OBEY  ...

  3. 弹框勾选datatable中的数据,点击保存后添加到另一个表中,同一个页面

    需求描述:做编辑的时候,点击添加按钮,弹出数据表table2,勾选弹出框中的数据,点击保存后能够添加到table1中,并且已经被添加到table1中的数据,在弹出框中显示已选,checkbox隐藏:t ...

  4. 改变 Panel 跟 groupbox边框样式

    更改panel和groupbox的边框颜色因为在控件的属性中没有设置边框颜色的属性只有一个设置边框样式,遂在网络中搜寻出一下方法: panel的边框颜色在paint中重新对颜色进行定义 private ...

  5. 点击不同按钮生成不同窗体到某个panel上面,类似Frame用法--不错

    //点击不同按钮生成不同页面加载到某个panel上面.procedure TMainForm.DemoButtonClick(Sender: TObject); var NewDemoClass: T ...

  6. 每日学习心得:SharePoint 为列表中的文件夹添加子项(文件夹)、新增指定内容类型的子项、查询列表中指定的文件夹下的内容

    前言: 这里主要是针对列表中的文件下新增子项的操作,同时在新建子项时,可以为子项指定特定的内容类型,在某些时候需要查询指定的文件夹下的内容,针对这些场景都一一给力示例和说明,都是一些很小的知识点,希望 ...

  7. C#中添加三个线程同时启动执行某一方法,并依次调用某方法中的循环打印输。

    添加三个线程同时启动执行某一方法,并依次调用某方法中的打印输:ABC ABC ABC ABC 实现代码如下: using System; using System.Collections.Generi ...

  8. 在页面上绘制一张表格,使用 DOM 节点的动态添加和删除向表格中插入数据,点击表格每行后的“删除”超链接

    查看本章节 查看作业目录 需求说明: 在页面上绘制一张表格,使用 DOM 节点的动态添加和删除向表格中插入数据,点击表格每行后的"删除"超链接,使用 DOM 节点的删除操作将对应的 ...

  9. 从头开始一步一步实现EF6+Autofac+MVC5+Bootstarp极简前后台ajax表格展示及分页(二)前端修改、添加表格行点击弹出模态框

    在前一篇中,由于不懂jquery,前端做的太差了,今天做稍做修改,增加一个跳转到指定页面功能,表格行点击样式变化.并且在表格中加入bootstarp的按钮组,按钮点击后弹出模态框,须修改common, ...

随机推荐

  1. 并行网络爬虫(C++实现)

    step1 使用socket编程技术,利用http协议,抽取网页中的url,实现简单的爬虫. socket int socket (int domain, int type, int protocol ...

  2. crm作业知识点集合[三]

    知识点1 我们要实现一个这样的功能,在学生表中,可以查看每个学生的报名的班级的所有的成绩,就是下图的效果 1.首先我们需要在学生表中自定义一列,这一列的内容就是一个a标签,指向另外一个页面,而我们在另 ...

  3. multithreading coding

    分类:公共资源问题.公交车问题 顺序:Qseater lab, bank, doctor [饭店] geust //yuec2 Yue Cheng package lab9; public abstr ...

  4. TouchSlide 插件使用介绍

    TouchSlide(PC端插件http://www.superslide2.com/demo.html#effect1) 可用于javascript触屏滑动特效插件,移动端滑动特效,触屏焦点图,触屏 ...

  5. jQuery的鼠标悬停时放大图片的效果

    这是一个基于jQuery的效果,当鼠标在小图片上悬停时,会弹出一个大图,该大图会跟随鼠标的移动而移动.这个效果最初源于小敏同志的一个想法,刚开始做的时候只能实现弹出的图片是固定的,不能随鼠标移动,最后 ...

  6. std::move 移动对象资源

    场景: C++ 标准库使用比如vector::push_back 等这类函数时,会对参数的对象进行复制,连数据也会复制.这就会造成对象内存的额外创建, 本来原意是想把参数push_back进去就行了. ...

  7. javascript 高级程序设计 五

    1.变量: ECMAScript中的基本类型都是值类型Boolean,Number,Null,Undefined和String,在这里JS和其他的语言有所不同,就是JS中的String是值类型 而不像 ...

  8. BZOJ1047或洛谷2216 [HAOI2007]理想的正方形

    BZOJ原题链接 洛谷原题链接 显然可以用数据结构或\(ST\)表或单调队列来维护最值. 这里采用单调队列来维护. 先用单调队列维护每一行的最大值和最小值,区间长为正方形长度. 再用单调队列维护之前维 ...

  9. 201621123008 《Java程序设计》 第11周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2. 书面作业 本次PTA作业题集多线程 1. 源代码阅读:多线程程序BounceThread 1.1 BallR ...

  10. MySQL8.0的安装与配置(Windows 10)

    MySQL的下载 进入MySQL官网 https://www.mysql.com/ 选择 DOWNLOAD 到页面底部找到 MySQL Community Edition (GPL) 找到MySQL ...