C#应用程序界面开发基础——窗体控制(5)——分组类控件

2023-05-16

分组类控件

分组类控件有容器(Panel)控件、分组框(GroupBox)控件、选项卡(TabControl)控件等。

容器控件

容器控件是由System.Windows.Forms.Panel类提供的。该控件相当于一个容器,主要作用就是将其它控件组合在一起放在一个面板上,使这些控件更容易管理。

编写程序,制作一个“下载资源管理器”。

开发步骤如下:

1、首先在Form1窗体中添加三个Button控件,并修改这些控件的Text属性;然后再添加一个Panel控件,并将该控件的Size属性设置为“307,181”。

2、接着再新建三个窗体,分别 为Regular.cs常规窗体、Download.cs下载窗体和Appearance.cs外观窗体,并且为三个窗体添加相应的控件。这里还需要注意,窗体新建完成之后 ,也需要将它们的Size属性设置为“307,181”。

 
右键,选择重命名。

3、最后在Form1.cs文件中,添加三个Button控件的Click事件。

代码之前

 代码之后:

代码如下:

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 WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Regular myRegular=new Regular();
            myRegular.TopLevel = false;
            this.panel1.Controls.Add(myRegular);
            myRegular.FormBorderStyle= FormBorderStyle.None;
            myRegular.BringToFront();
            myRegular.Show();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Download myDownload = new Download();
            myDownload.TopLevel = false;
            this.panel1.Controls.Add(myDownload);
            myDownload.FormBorderStyle = FormBorderStyle.None;
            myDownload.BringToFront();
            myDownload.Show();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            Appearance myAppearance = new Appearance();
            myAppearance.TopLevel = false;
            this.panel1.Controls.Add(myAppearance);
            myAppearance.FormBorderStyle = FormBorderStyle.None;
            myAppearance.BringToFront();
            myAppearance.Show();
        }
    }
}

运行结果如下:

点击,无反应, 运行失败。

三个窗口重新设计:

再次运行:

分组框控件

分组框控件是由System.Windows.Forms.GroupBox类提供的,作用是为其他控件提供可识别的分组,可在同一页面实现多个单选RadioButton控件。通常,使用分组框来按功能细分窗体。

编写程序,将一个学生的性别和年级进行细分。

在窗体中,首先添加两个GroupBox控件,并命名为“性别”和“年级”;

 在“性别”控件中添加两个RadioButton控件,分别为“男”和“女”。在

 

最后再添加一个Button控件,更名为“提交”。

 

在代码中,首先添加button1_Click事件,对性别控件进行判断。由于最后输出的是一个字符串,所以用户需要定义一个字符串变量str,来存储该值。接着,使用foreach语句,在groupBox1.Controls集合中,定义一个控件的类outctrl,并判断该控件是否是GroupBox控件;然后再使用if语句来判断GroupBox控件中的哪一个RadioButton控件被选中;最后将outctrl.Text赋给变量str。由于“性别”控件与“年级”控件大致相同,在groupBox2.Controls进行判断即可。

代码之前:

代码之后:

代码如下: 

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 WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string str = "";
            foreach(Control outctrl in groupBox1.Controls)
            {
                if(outctrl is RadioButton)
                {
                    if(((RadioButton)outctrl).Checked)
                    {
                        str="您的性别是:"+outctrl.Text; 
                    }
                }
            }
            foreach(Control outctrl in groupBox2.Controls)
            {
                if(outctrl is RadioButton)
                {
                    if(((RadioButton)outctrl).Checked)
                    {
                        str += "\n您所在班级:" + outctrl.Text;
                    }
                }
            }
            MessageBox.Show(str, "选择结果");
        }
    }
}

运行结果如下:

选项卡控件

选项卡控件是一个选项卡控件,在实际 编程中经常用到,该控件的作用是将相关的组件组合到一系列选项卡页面上。

1、添加和删除TabControl控件中的选项卡

有两种方法:

第一,当鼠标单击TabControl控件右上角带三角形的小按钮时就会打开一个小窗口,该窗口可以方便地在设计期间添加和删除TabPages集合。

TabControl控件的Multiline属性是用来设置是否显示多行选项卡。如果属性值是false时,就表示有多个选项卡不能一次显示出来,需要提供箭头查看剩余的选项卡。

第二,选中TabControl控件,在属性面板中单击TabPages集合的...按钮,会弹出“TabPage集合编辑器”对话框,并在该对话框中添加和移除TabPages集合。

2、以编程方式添加和删除选项卡

默认情况下,TabControl控件包含两个TabPage控件,可以使用TabPage属性的Add方法和Remove方法实现选项卡的添加和删除。

编写程序,实现选项卡的添加和删除

添加一个TabControl控件

添加两个Button控件,更名为“添加”和“删除”。 

两个Button控件发生Click事件 

代码如下:

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 WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //获取选择条中选项卡的数目
            string name = "新增选项卡" + (tabControl1.TabCount + 1).ToString();
            //实例化TabPage控件
            TabPage tab = new TabPage(name);
            //使用TabControl控件的TabPages属性的Add方法添加新选项卡
            tabControl1.TabPages.Add(tab);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            //获取当前选项卡页的索引值,并进行判断
            if(tabControl1.SelectedIndex==0)
            {
                MessageBox.Show("请选择要删除的选项卡");
            }
            else
            {
                //使用Remove方法删除指定选项卡
                tabControl1.TabPages.Remove(tabControl1.SelectedTab);
            }
        }
    }
}

运行结果:

 点击添加:

 点击添加:

点击删除:

 点击“新增选择卡3”,再次点击删除:

点击tabPage1,再次删除。还是不行。tabpage2是可以的。 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C#应用程序界面开发基础——窗体控制(5)——分组类控件 的相关文章

随机推荐

  • DE1-SOC开发笔记

    verilog FPGA 采用verilog开发语言 xff0c 使用时序和组合逻辑 进行行为 xff0c 数据流 xff0c 结构建模 RTL级编程 xff0c 在实际板卡上面验证逻辑的正确性 sopc xff1a 软硬件结合的开发方式
  • 关于立创EDA使用的几点心得

    对于立创EDA 与AD仅为小白 xff0c 仅布过简单的双层板 xff0c 以下仅记录自己的几点心得 1 如果想要在立创商城 xff0c 嘉立创实现打板贴片一体化 xff0c 采用的普遍的两种方法 xff1a 立创EDA xff0c 有在线
  • 《当下即是生活》季羡林——读书笔记

    目录 书籍简介 经典摘录 三思而行 满招损 xff0c 谦受益 牵就与适应 睁一只眼 闭一只眼 论压力 论恐惧 难得糊涂 春色满寰中 槐花 书籍简介 作者季羡林 本书精选季羡林关于人生活法的散文 xff0c 阐述一个人怎样活在当下 xff0
  • Python装饰器

    Python的装饰器 decorator 可以说是Python的一个神器 xff0c 它可以在不改变一个函数代码和调用方式的情况下给函数添加新的功能 Python的装饰器同时也是Python学习从入门到精通过程中必需要熟练掌握的知识 小编我
  • Python学习笔记--带参数的装饰器

    带参数的装饰器 装饰器的副作用柯里化functools带参数的装饰器多参数小结 装饰器的副作用 def fn 39 39 39 this is fn 39 39 39 help fn 结果 xff1a Help on function fn
  • 六、51单片机之定时器/计数器_理论

    1 什么是定时器 计数器 定时器就是单片机设定一个时间间隔 xff0c 时间间隔到后通知单片机 例如设置100ms的定时器 xff0c 100ms后定时器通知单片机时间到了 1 定时器是单片机的一种内部外设 以前的单片机只有CPU 也就是只
  • 八、51单片机之蜂鸣器

    1 蜂鸣器的原理 蜂鸣器分为有源蜂鸣器和无源蜂鸣器 这里的 源 不是指电源 xff0c 而是指震荡源 1 1 无源蜂鸣器 1 早期蜂鸣器都是无源的 2 内部没有震荡电路 xff0c 无源蜂鸣器比有源蜂鸣器更便宜 3 无源蜂鸣器内部没有震荡源
  • CSS3实现loading效果

    前言 晚上躺床上刷视频的时候看到有个前端大佬写了一个loading xff0c 这是效果 xff1a loading 感觉也挺有意思哈 xff0c 要不自己也写一个 xff0c 学习 43 复习 两不误 但是又因为太晚了 xff0c 不想起
  • C#应用程序界面开发基础——窗体控制(2)——MDI窗体

    MDI窗体 单文档界面 xff08 SDI xff09 多文档界面 xff08 MDI xff09 MDI窗体的概念 MDI窗体 xff08 Multiple Document Interface xff0c 多文档界面 xff09 用于同
  • windows 10 + GTX1650 环境下基于TensorFlow的深度学习环境配置

    因论文需要 xff0c 简单的记录一个深度学习环境的配置过程 说明 xff1a 与广为应用的基于Anaconda的深度学习环境配置方法不同的是 xff0c 本文直接基于Python基础环境 43 Pycharm进行环境的配置 xff0c 不
  • TX2硬盘扩展

    TX2硬盘扩展 硬件平台 xff1a NVIDIA TX2 Samsung SSD 860EVO 系统平台 xff1a Ubuntu 18 04 LTS 安装 将硬盘连接至侧边SATA接口 扩展home 1 查看硬盘所有分区 sudo fd
  • Android手机4G网络设置ipv6

    我的卡是联通的 xff0c 所以下面截图也是联通的 xff0c 移动和电信的卡类似 xff1b 1 进入目录 xff1a 设置 移动网络 接入点名称 xff08 APN xff09 xff1b 2 点击默认的连接项 xff0c 进入详情页
  • 简单TCP编程

    1 TCP服务端 span class token macro property span class token directive hash span span class token directive keyword include
  • Redis的基本使用

    Redis简介 什么是Redis Redis是一款开源的内存数据库 xff0c 也称为键值存储 database 缓存 database 和消息队列 database 系统 它提供了丰富的数据结构和高效的操作方式 xff0c 并且支持多种编
  • Ubuntu16.04通过VNC远程桌面并开机自启动

    前置条件 xff0c 远程客户端已经安装VNC Viewer x11vnc安装 在Ubuntu 16 04中安装x11vnc xff0c 可以按照以下步骤操作 xff1a span class token comment 输入以下命令以更新
  • SpringBoot数据库读写分离

    导入maven坐标 span class token tag span class token tag span class token punctuation lt span dependency span span class toke
  • 滑模控制

    滑动模态的定义 人为设定一经过平衡点的相轨迹 xff0c 通过适当设计 xff0c 系统状态点沿着此相轨迹渐近稳定到平衡点 xff0c 或形象地称为滑向平衡点的一种运动 xff0c 滑动模态的 滑动 二字即来源于此 滑模控制的优点 xff1
  • FPGA基础之VGA(一)满屏红色

    一 项目分析 用VGA显示全屏的红色 xff0c VGA xff08 Video Graphics Array xff0c 视频图形阵列 xff09 是一种电脑显示标准 开发板采用至芯科技zx 1学习板 xff0c VGA视频显示接口是25
  • docker基础学习入门(六)------ DockerFile解析

    DockerFile是什么 Dockerfile是用来构建Docker镜像的构建文件 xff0c 是由一系列命令和参数构成的脚本 构建三步骤 xff1a 编写Dockerfile文件docker builddocker run 构建的文件什
  • C#应用程序界面开发基础——窗体控制(5)——分组类控件

    分组类控件 分组类控件有容器 xff08 Panel xff09 控件 分组框 xff08 GroupBox xff09 控件 选项卡 xff08 TabControl xff09 控件等 容器控件 容器控件是由System Windows