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, ...
随机推荐
- Q in Q
简介 Q in Q技术(也称Stacked VLAN 或Double VLAN).标准出自IEEE 802.1ad,将用户私网VLAN Tag封装在公网VLAN Tag中,使报文带着两层VLAN Ta ...
- wk1&2 字符串
[CQ] 自增怎么样都增了,赋值不一定: int x = 2; int y = 2; int i = ++x; int j = y++; System.out.println(x); System.o ...
- [leetcode]791. Custom Sort String自定义排序字符串
S and T are strings composed of lowercase letters. In S, no letter occurs more than once. S was sort ...
- centos更换yum源为aliyun源
国外的yum源由于众所周知的GFW原因,有的被墙,有的很慢,阿里云依靠强大的技术优势建立了国内的开源镜像.阿里云Linux安装镜像源地址:http://mirrors.aliyun.com/ 第一步: ...
- python3 安装使用 fabirc3 模块以及 fab 命令(转)
原文地址:https://blog.csdn.net/cityzenoldwang/article/details/78454964 python3 fabric3 模块之 fab 命令 安装 pyt ...
- idea自动生成文档注释
这方面主要分为两块内容,一是利用idea本身具有的生成模板工具进行生成:二是利用第三方插件生成,比如jindent 后期会进行整理更新,待续 下面的网址目前只是关于这方面的介绍,先留存一份而已 htt ...
- ES6中的Promise使用方法与总结
在javascript中,代码是单线程执行的,对于一些比较耗时的IO操作,都是通过异步回调函数来实现的. 但是这样会存在一个问题,当下一个的操作需要上一个操作的结果时,我们只能把代码嵌到上一个操作的回 ...
- golang基础学习
一.输出hello,world程序 package main; import "fmt"; func main() { fmt.Printf("hello,world&q ...
- [z]oracle优化http://jadethao.iteye.com/blog/1613943
[sql] view plaincopy SQL> create table t as select 1 id,object_name from dba_objects; Table creat ...
- 函数的有用信息,装饰器 day12
一 函数的有用信息 本函数的功能:绘图功能,实时接收数据并绘图.:return: 绘图需要的数据,返回给前端某标签 def f1(): ''' 本函数的功能:绘图功能,实时接收数据并绘图. :retu ...