参考panel添加窗体:
http://blog.****.net/illegalname/article/details/65444249
http://blog.****.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