首页 > 其他分享 >WinForm下实现子窗体

WinForm下实现子窗体

时间:2024-05-07 13:22:53浏览次数:21  
标签:实现 void groupBox1 Controls 窗体 fun output WinForm

如果想要实现在同一个Form下的子窗体切换,下面的方法可以实现。

  1. 窗体设计,如图

  2. 增加子窗体。鼠标右键项目,选择添加,选择用户控件

  • 注意修改用户控件的大小尺寸,和GroupBox的尺寸匹配。
  1. 建立好子窗体后,在主Form里面先声明各个子窗体类,如下:
        //定义用户窗口变量
        public windows1 w1;
        public windows2 w2;
        public windows3 w3;
        public windows4 w4;
  1. 在加载主Form事件时选择实例化各个子窗体类
        //加载时赋值
        private void Form1_Load(object sender, EventArgs e)
        {
            //实例化
            w1 = new windows1();
            w2 = new windows2();    
            w3 = new windows3();    
            w4 = new windows4();
        }
  1. 为每个要显示子窗体创建一个按钮,目的是点击按钮切换至子窗体
        //output_fun
        public void output_fun(string str)
        {
            textBox1.AppendText(DateTime.Now.ToString()+ ":" + str + "\r\n");
        }

       //显示用户窗口1
       private void button1_Click(object sender, EventArgs e)
       {
           w1.Show();
           groupBox1.Controls.Clear();
           groupBox1.Controls.Add(w1);
           output_fun("show windows1");           
       }

       //显示用户窗口2
       private void button2_Click(object sender, EventArgs e)
       {
           w2.Show();
           groupBox1.Controls.Clear();
           groupBox1.Controls.Add(w2);
           output_fun("show windows2");
       }

       //显示用户窗口3
       private void button3_Click(object sender, EventArgs e)
       {
           w3.Show();
           groupBox1.Controls.Clear();
           groupBox1.Controls.Add(w3);
           output_fun("show windows3");
       }

       //显示用户窗口4
       private void button4_Click(object sender, EventArgs e)
       {
           w4.Show();
           groupBox1.Controls.Clear();
           groupBox1.Controls.Add(w4);
           output_fun("show windows4");
       }
  1. 至此,一个最简单创建子窗体的方法就完成了。
  • 如果有需要把子窗体里面的变量值传到主程序里面
    • 用委托
    • 子窗体内做一个返回值(或者元组)的方法
    • 建立一个单独的静态类专门用来读写值
    • 用json或者yaml做变量管理

标签:实现,void,groupBox1,Controls,窗体,fun,output,WinForm
From: https://www.cnblogs.com/xiacuncun/p/18177036

相关文章

  • JS实现图表日期分类按色显示
    预想要达成的效果图: 关键步聚: js代码如下function(){vardate=newDate(this);if(date.getDay()==0||date.getDay()==6){return"<fontcolor='red'>"+date.getDate()+"</font>"}else{returndate.getD......
  • 设置Winform窗体内控件跟随窗体大小变化而变化
    点击查看代码#region界面放大处理privatefloatx;//窗体大小全局变量privatefloaty;//窗体大小全局变量#region获取控件的width、height、left、top、字体大小值,存放在控件的Tag属性中privatevoidsetTag(Controlcons){//遍历窗体中的控......
  • pytorch训练简单加减验证码(一):数据加载器实现
    1、torch.utils.data.Datasettorch.utils.data.Dataset是代表自定义数据集方法的类,用户可以通过继承该类来自定义自己的数据集类,在继承时要求用户重载__len__()和__getitem__()这两个魔法方法。len():返回的是数据集的大小。我们构建的数据集是一个对象,而数据集不像序列类型(列表......
  • 数据分享|广义线性模型beta二项分布的淋巴结疾病风险预测可视化R语言实现
    全文链接:https://tecdat.cn/?p=36112原文出处:拓端数据部落公众号淋巴结疾病作为一类复杂的健康问题,其风险预测一直是临床和公共卫生领域的研究热点。随着统计学的进步和计算能力的提升,广义线性模型(GLM)成为了分析这类数据的有力工具。特别是当数据呈现比例特性时,beta二项分布作为......
  • vscode/texstudio中实现latex字数统计的方法
    A:vscode 1.在这里免登录下载perl语言:[Download&InstallPerl-ActiveState](https://www.activestate.com/products/perl/),默认安装步骤并将其文件夹路径加入系统Path(使用ActiveState安装的perl其路径在一串杂码下,在安装完成后会显示这个路径,路径名称参见[安装ActiveState......
  • MLP实现minist数据集分类任务
    1.数据集minist手写体数字数据集2.代码'''Description:Author:zhangyhDate:2024-05-0415:21:49LastEditTime:2024-05-0422:36:26LastEditors:zhangyh'''importnumpyasnpclassMlpClassifier:def__init__(self,input_si......
  • 如何实现一个简单易用的 RocketMQ SDK
    2018年,做为架构负责人,接到一个架构需求:实现一个简单易用的RocketMQSDK。因为各个团队RocketMQ原生客户端配置起来千奇百怪,有的配置存在风险,各团队负责人都需要一个简洁易用的RocketMQSDK。我立马调研相关开源的方案,当时RocketMQ-Spring项目并没有开源,而阿里云的ONS......
  • 顺序栈实现进制转换 和 通过键盘输入一个包括 '(' 和 ')' 的字符串string ,判断字符串
    /********************************************************************************************************** filename: Zqh_栈实现.c* author : [email protected]* date : 2024/05/05* function: 顺序栈实现进制转换和通过键盘输入一个包括'('和')'......
  • 队列的实现
    /********************************************************************************************************** filename: Zqh_队列实现.c* author : [email protected]* date : 2024/05/05* function: 实现队列的增删改查* note : 模板* *Copyright(c)......
  • MLP实现波士顿房屋价格回归任务
    1.数据集波士顿房屋价格.csv文件,文件中的数据有可能不完整,部分数据如下:CRIM,ZN,INDUS,CHAS,NOX,RM,AGE,DIS,RAD,TAX,PTRATIO,LSTAT,MEDV0.00632,18,2.31,0,0.538,6.575,65.2,4.09,1,296,15.3,4.98,240.02731,0,7.07,0,0.469,6.421,78.9,4.9671,2,242,17.8,9.14,21.60.02......