zoukankan      html  css  js  c++  java
  • c#在panel或groupbox中添加窗体,实现点击不同按钮或combox时panel中窗体切换,在xtratabcontrol中添加窗体

    参考panel添加窗体:

    http://blog.csdn.net/illegalname/article/details/65444249

    http://blog.csdn.net/Eastmount/article/details/21461275

      1 using System;
      2 using System.Collections.Generic;
      3 using System.ComponentModel;
      4 using System.Data;
      5 using System.Drawing;
      6 using System.Linq;
      7 using System.Text;
      8 using System.Threading.Tasks;
      9 using System.Windows.Forms;
     10 
     11 namespace WindowsFormsPanel
     12 {
     13     public partial class Form1 : Form
     14     {
     15         CSUHForm2 win1 = new CSUHForm2();
     16         UHForm2 win2 = new UHForm2();
     17         CamClayForm2 win3 = new CamClayForm2();
     18         //        win1 =new CSUHForm2 ();
     19         //win2=new UHForm2 ();
     20         //win3=new CamClayForm2 ();
     21         public Form1()
     22         {
     23             InitializeComponent();
     24         }
     25 
     26         private void Form1_Load(object sender, EventArgs e)
     27         {
     28 
     29         }
     30 
     31         private void groupBox1_Enter(object sender, EventArgs e)
     32         {
     33 
     34         }
     35 
     36         private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
     37         {
     38             if (comboBox1.SelectedIndex > -1)
     39             {
     40                 switch (comboBox1.SelectedItem.ToString())
     41                 {
     42                     case "CSUH":
     43                         {
     44                             
     45                             this.groupBox1.Controls.Clear();
     46                             win1.TopLevel = false;
     47                             win1.FormBorderStyle = FormBorderStyle.None;
     48                             win1.Dock = System.Windows.Forms.DockStyle.Fill;  // 填充panel
     49                             this.groupBox1.Controls.Add(win1);  // 添加w1窗体
     50                             win1.Show();
     51 
     52                             this.panel1.Controls.Clear();  // 清空原有的控件  
     53                             win1.TopLevel = false;  // 非顶级窗口  
     54                             win1.FormBorderStyle = FormBorderStyle.None;  // 不显示标题栏  
     55                             win1.Dock = System.Windows.Forms.DockStyle.Fill;  // 填充panel  
     56                             this.panel1.Controls.Add(win1);  // 添加w1窗体  
     57                             win1.Show();
     58 
     59                         }
     60 
     61                         break;
     62                     case "UH":
     63                         {
     64                             this.groupBox1.Controls.Clear();
     65                             win2.TopLevel = false;
     66                             win2.FormBorderStyle = FormBorderStyle.None;
     67                             win2.Dock = System.Windows.Forms.DockStyle.Fill;  // 填充panel
     68                             this.groupBox1.Controls.Add(win2);  // 添加w1窗体
     69                             win2.Show();
     70 
     71                             this.panel1.Controls.Clear();  // 清空原有的控件  
     72                             win2.TopLevel = false;  // 非顶级窗口  
     73                             win2.FormBorderStyle = FormBorderStyle.None;  // 不显示标题栏  
     74                             win2.Dock = System.Windows.Forms.DockStyle.Fill;  // 填充panel  
     75                             this.panel1.Controls.Add(win2);  // 添加w1窗体  
     76                             win2.Show();
     77                         }
     78 
     79                         break;
     80                     case "CamClay":
     81                         {
     82                             this.groupBox1.Controls.Clear();
     83                             win3.TopLevel = false;
     84                             win3.FormBorderStyle = FormBorderStyle.None;
     85                             win3.Dock = System.Windows.Forms.DockStyle.Fill;  // 填充panel
     86                             this.groupBox1.Controls.Add(win3);  // 添加w1窗体
     87                             win3.Show();
     88 
     89                             this.panel1.Controls.Clear();  // 清空原有的控件  
     90                             win3.TopLevel = false;  // 非顶级窗口  
     91                             win3.FormBorderStyle = FormBorderStyle.None;  // 不显示标题栏  
     92                             win3.Dock = System.Windows.Forms.DockStyle.Fill;  // 填充panel  
     93                             this.panel1.Controls.Add(win3);  // 添加w1窗体  
     94                             win3.Show();
     95                         }
     96                         //dataGridView1.BackgroundColor = Color.Red;
     97                         break;
     98                 }
     99             }
    100 
    101         }
    102 
    103 
    104     }
    105 }
    panel加载窗体

     在groupbox中添加窗体:

     1 using System;
     2 using System.Collections.Generic;
     3 using System.ComponentModel;
     4 using System.Data;
     5 using System.Drawing;
     6 using System.Linq;
     7 using System.Text;
     8 using System.Threading.Tasks;
     9 using System.Windows.Forms;
    10 
    11 namespace LabOpt2
    12 {
    13     public partial class Form2GASetting : Form
    14     {
    15         public Form2GASetting()
    16         {
    17             InitializeComponent();
    18 
    19             //在Form2GASetting的panel中添加gridcontrol
    20             Form3CSUHConstitutiveSetting ModelParaSettingWin = new Form3CSUHConstitutiveSetting();//实例化一个参数设定窗口的实例化                       
    21             ModelParaSettingWin.TopLevel = false;  // ModelParaSettingWin设为非顶级窗口  
    22             ModelParaSettingWin.FormBorderStyle = FormBorderStyle.None;  // ModelParaSettingWin设定为不显示标题栏  
    23             ModelParaSettingWin.Parent = panel1ModelParaSetting;//  将ModelParaSettingWin这个窗体的父容器设定为panel1ModelParaSetting这个panel,有无这句都行
    24             ModelParaSettingWin.Dock = System.Windows.Forms.DockStyle.Fill;  // 将窗体铺满这个panel              
    25             this.panel1ModelParaSetting.Controls.Add(ModelParaSettingWin);        
    26             ModelParaSettingWin.Show();//显示SpreadSheetReadWin窗体在主窗体的panelCtrols1中
    27 
    28             //在Form2GASetting的groupcontrol组中添加gridcontrol
    29             Form3CSUHConstitutiveSetting ModelParaSettingWin2 = new Form3CSUHConstitutiveSetting();//实例化一个参数设定窗口的实例化                       
    30             ModelParaSettingWin2.TopLevel = false;  // ModelParaSettingWin设为非顶级窗口  
    31             ModelParaSettingWin2.FormBorderStyle = FormBorderStyle.None;  // ModelParaSettingWin设定为不显示标题栏  
    32             ModelParaSettingWin2.Parent = groupControl1ModelParaSetting;//  将ModelParaSettingWin这个窗体的父容器设定为panel1ModelParaSetting这个panel,有无这句都行
    33             ModelParaSettingWin2.Dock = System.Windows.Forms.DockStyle.Fill;  // 将窗体铺满这个panel              
    34             this.groupControl1ModelParaSetting.Controls.Add(ModelParaSettingWin2);        
    35             ModelParaSettingWin2.Show();//显示SpreadSheetReadWin窗体在主窗体的panelCtrols1中
    36         }
    37 
    38 
    39 
    40         private void comboBoxEdit1SelectModel_SelectedIndexChanged(object sender, EventArgs e)
    41         {
    42             switch (comboBoxEdit1SelectModel.SelectedItem.ToString())
    43             {
    44                 case "CSUH":
    45                     {
    46 
    47                         MessageBox.Show("选择了CSUH");
    48 
    49                     }
    50                     break;
    51                 case "UH": 
    52                     {
    53                         //Form3CSUHConstitutiveSetting ModelParaSettingWin = new Form3CSUHConstitutiveSetting();//实例化一个参数设定窗口的实例化                       
    54                         //ModelParaSettingWin.TopLevel = false;  // ModelParaSettingWin设为非顶级窗口  
    55                         //ModelParaSettingWin.FormBorderStyle = FormBorderStyle.None;  // ModelParaSettingWin设定为不显示标题栏  
    56                         //ModelParaSettingWin.Parent = panel1ModelParaSetting;//  将ModelParaSettingWin这个窗体的父容器设定为panel1ModelParaSetting这个panel,有无这句都行
    57                         //ModelParaSettingWin.Dock = System.Windows.Forms.DockStyle.Fill;  // 将窗体铺满这个panel  
    58                         ////Form3CSUHConstitutiveSetting.gridControl1ParaRange             
    59                         //this.panel1ModelParaSetting.Controls.Add(ModelParaSettingWin);
    60                         //// ModelParaSettingWin.SelectedTabPage = xtraTabPageInputExcel;//在xtraTabControl1Form1这个tabcontrol中显示第一页即xtraTabPageInputExcel
    61                         ////xtraTabPageInputExcel.Controls.Add(SpreadSheetReadWin); //在xtraTabPageInputExcel这个page中添加SpreadSheetReadWin窗体          
    62                         //ModelParaSettingWin.Show();//显示SpreadSheetReadWin窗体在主窗体的panelCtrols1中
    63                         ////Form3CSUHConstitutiveSetting.panel1ModelParaSetting
    64                         MessageBox.Show("选择了CSUH");
    65                        
    66                     } break;
    67                 case "ModifiedCamClay":
    68                     {
    69                         MessageBox.Show("选择了ModifiedCamClay模型");
    70                     }
    71                     break;
    72                 case "CamClay":
    73                     {
    74                         MessageBox.Show("选择了CamClay模型");
    75                     }
    76                     break;
    77             }
    78         }
    79 
    80         private void panel1ModelParaSetting_Paint(object sender, PaintEventArgs e)
    81         {
    82 
    83         }
    84     }
    85 }
    groupbox中添加form

     怎样切换page呢:

    xtraTabControl1.SelectedTabPage = xtraTabPage2;
    xtraTabControl3.SelectedTabPage = xtraTabPage7;

     1         private void barButtonItem10_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
     2         {
     3 
     4             Form2GASetting GaSettingWin = new Form2GASetting();
     5             //this.panelControl1.Controls.Clear();  // 清空主窗体panelCtrols1内原有的控件
     6             //SpreadSheetReadWin.Hide ();//这一句可以代替上面的清除语句
     7             GaSettingWin.TopLevel = false;  // SpreadSheetReadWin非顶级窗口
     8             GaSettingWin.FormBorderStyle = FormBorderStyle.None;  // 不显示标题栏  
     9             GaSettingWin.Dock = System.Windows.Forms.DockStyle.Fill;  // 填充panel  
    10             //this.panelControl1.Controls.Add(GaSettingWin);  // 添加SpreadSheetReadWin窗体
    11             this.panelControl1.Controls.Add(xtraTabControl1Form1);//用这个选项卡填充panel
    12             xtraTabControl1Form1.SelectedTabPage = xtraTabPageSetting;//在Form1中的xtraTabControl1Form1这个tabcontrol中显示第二页即xtraTabPageSetting
    13             xtraTabPageSetting.Controls.Add(GaSettingWin);  
    14             GaSettingWin.Show();//显示SpreadSheetReadWin窗体在主窗体的panelCtrols1中
    15         }
    在tabpage中添加窗体

    在xtratabcontrol中添加窗体:

    http://www.cnblogs.com/w2011/archive/2013/02/18/2915794.html

  • 相关阅读:
    Jquery消息提示插件toastr使用详解
    spingboot jar 包启动遇到得坑
    freemarker使用shiro标签(spring boot)
    sping boot 集成shiro
    java 线程安全(初级)
    java GC jvm 内存分布 和新生代,老年代,永久代,(详细)
    java的新生代 老年代 永久代
    windows下rabbitmq(架构师必备神器)集群搭建
    友盟移动开发平台.NET版本SDK
    jstree无限级菜单ajax按需动态加载子节点
  • 原文地址:https://www.cnblogs.com/zhubinglong/p/8296542.html
Copyright © 2011-2022 走看看