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

c# 页面操作 Panel控件相当于在我们主窗体中添加了一个容器,通过这个容器把我们需要用的控件直接在这个容器中显示,其中就包括窗体,这样每次单击事件就只有这一个窗体中的控件内容在变化。 阅读详情

分组类控件

分组类控件有容器(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是可以的。 

c#窗体控件用法大全   C#控件大全 收藏C#控件及常用设计整理1、窗体 1、常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。 (2) WindowState属性: 用来获取或设置窗体的窗口状态。 取值有三种: Normal (窗体正常显示)、 Minimized(窗体以最小化形式显示)和 Maximized(窗体以最大化形式显示)。 (3)StartPo 阅读详情

相关推荐

C#开发 控件篇

C#控件

Cmjoke的博客 1281

C#中groupBox1控件详细使用方法

C#中groupBox1控件详细使用方法

xiaogongzhu001的博客 5919

使用WinForm和C#创建GroupBox

GroupBox是Windows Forms中常用的控件之一,它可以将多个相关的控件组合在一起,并为它们提供一个容器。例如,您可以将GroupBox的文本设置为"用户信息",将其位置设置为(50, 50),大小设置为300x200。这样,GroupBox将在窗体上显示一个边框,并包含用户信息的相关控件。以上代码创建了一个Label控件用于显示"姓名:"文本,一个TextBox控件用于输入姓名,以及一个Button控件用于保存用户信息。在该方法中,我们可以获取用户输入的姓名,并执行保存用户信息的操作。

code88888的博客 655

C#学习笔记:groupbox的使用功能

GroupBox(框架)控件是C#中用来组织其他控件形成一个控件组,可以把一些控件拉到里面,组成一个整体,整体控制,比如enable,visiable等等,我有时也用它来替代一下边框的功能,美观界面 将其他控件拖拽到GroupBox中就可以形成一个控件组。当框架移动时,该控件组同时移动,不会产生其他的位移,所以是组织界面的好东西。 GroupBox的使用 它主要有两个属性:Text和Visi...

一片雾霾的博客 1万+

Winform从入门到精通(24)——GroupBox(史上最全)

本文介绍GroupBox控件的详细用法,包含所有属性和事件,绝对史上最全!

qq_34059233的博客 3341

C#实现QQ分组样式的实践指南

C#(发音为 “看-看”)是一种由微软开发和维护的现代化、面向对象的编程语言。自2002年首次推出以来,它已经成为.NET平台上的主流语言之一。C#用于开发多种应用程序,包括桌面、web、移动、游戏和云服务。GroupBox是.NET Framework中用于组织和分类界面元素的一个重要控件。其主要功能是为界面提供视觉上的分组效果,它通常用来为一系列相关的控件添加一个框架,并配备一个标题栏,使用户能一眼看出这些控件是相关联的。

weixin_42587866的博客 754

Windows窗体学这一篇就够了(C#控件讲解)

常用控件包括文本控件、选择控件、分组控件、菜单控件、工具栏控件以及状态栏控件常用控件的作用控件分类作用文本控件文本控件可以在控件上显示文本选择控件主要为用户提供选择的项目分组控件使用分组控件可以将窗体中的其他控件进行分组处理菜单控件为系统制作功能菜单,将应用程序命令分组,使它们更容易访问工具栏控件提供了主菜单中常用的相关工具状态栏控件用于显示窗体上的对象的相关信息,或者可以显示应用程序的信息通过设置DateTimePicker控件的CustomFormat属性,可自定义日期时间格式字符串。

weixin_51263756的博客 6万+

cs188Inference in Bayes Nets(贝叶斯网络的推理)

cs188Inference in Bayes Nets贝叶斯网络的推理Question1(3 points):Bayes Net StructureQuestion2(1 points):Bayes Net ProbabilitiesQuestion 3(5 points):Join FactorsQuestion4(4 points):EliminateQuestion5(4 points):NormalizeQuestion 6(4 points):Variable EliminationQuesti

weixin_46582817的博客 1673

C# 窗体控件简介 ∈ C# 编程笔记

这篇博客记录了C# 窗体的一些控件、属性、窗体编程中的一些技巧,之后也会不定期更新的。

一些笔记 2202

PLSQL Developer新手必看:如何避免安装过程中的常见坑

本文为PL/SQL Developer新手提供了详尽的安装与配置避坑指南。从版本选择、注册码使用、汉化包安装到Oracle客户端连接配置,逐一解析常见问题并提供解决方案,帮助开发者快速搭建稳定的PL/SQL开发环境,顺利开启Oracle数据库编程工作。

g9h0i1的博客 650

浅谈向量检索

文章目录浅谈向量检索背景什么是向量什么是向量检索距离度量检索方法ANN的基本思路举个容易理解栗子举个正常的例子具体算法树方法KD-TreeAnnoyHash方法LSH 算法矢量量化方法乘积量化码本的建立码字搜索算法倒排乘积量化临近图方法HNSW 算法朴素想法Delaunay算法NSW 主要思想NSW构图NSW查找参考 浅谈向量检索 背景 索引一直被认为是检索引擎最重要的组成部分,之所以数据库能够快速的查询出来结果。系统设计中很多常见的多种数据结构都是为了快速命中索引设计的, 比如 红黑树、跳跃表、倒排索引、

qq_42828391的博客 6552

保姆级跟学VISualstudio窗体画面制作教程

窗体也是对象,窗体类定义了生成窗体的模板,每实例化一个窗体类,就产生一个窗体。所有图像都将以相同的大小显示,该大小由ImageSize属性设置,较大的图像将所有至适当的尺寸。ImageList控件实际上就相当于一个图片集,也就是将多个图片存储到图片集中,当想要对某一图片进行操作时,只需根据其图片的编号,就可以找出该图片,并对其进行操作。当WordWrap(指示多行文本框控件在必要时是否自动换行到下一行的开始)属性为true时,则不论ScrollBars属性的值是什么,都不会显示水平滚动条。

KoError的博客 3859

OpenClaw Manager Pro - 可视化管理工具

OpenClaw Manager Pro 是一个现代化的 Web 管理界面,用于管理多个 OpenClaw Gateway 实例。🎨美观的界面:深色主题,渐变设计,现代化 UI📡实时监控:WebSocket 实时推送状态和日志🔧完整管理:创建、编辑、删除、启动、停止 Gateway📊多渠道支持:飞书、Telegram、Discord、Slack、微信、钉钉🧩技能管理:可视化配置 61+ 个技能🌍跨平台:支持 macOS、Linux、Windows使用自定义模型系统会自动在中创建},

Maynor的博客 3085

C#常用控件介绍

文章转载于https://www.cnblogs.com/dt520/p/5916225.html C#常用控件介绍 目录 1、窗体(Form) 2、Label (标签)控件 3、TextBox(文本框)控件 4、RichTextBox控件 5、NumericUpDown控件 6、Butt...

only_LWL的博客 1792

基于高德地图的单车路径规划与绘制实战(Vue3 + TypeScript)【拓展:货车路径规划函数、限行检测、城市 Adcode】

✅ 支持单辆车路径规划✅ 自动绘制路线✅ 起点、终点、途经点标注✅ 自动缩放视野至全路径✅ 获取路线距离、时长、过路费✅ 提供清除功能✅ 路线信息保存至本文完整实现了一个基于高德地图 JS SDK + Vue3 + TypeScript的👉单车路径规划与绘制模块。核心亮点:清晰的结构;灵活的扩展性;实时路线信息记录(🚀 你可以很方便地将本模块集成到车联网、调度监控、地图展示类项目中。❤️ 如果这篇文章对你有帮助,别忘了:评论区交流 💬。

专注于前端开发与实战技巧,记录从零到一的学习与项目经验。分享 Vue3 / JavaScript / TypeScript / Flutter /Uniapp等前端技术,以及 性能优化、工程化、最佳实践。 1264

18、未来医疗信息学中的太赫兹天线技术

本文探讨了太赫兹天线技术在医疗信息学中的关键作用,重点分析了分裂环谐振器和纳米结构光导天线(PCA)的设计与性能提升方法,介绍了相干与非相干太赫兹检测技术,并通过等效电路模型和数值模拟深入解析PCA工作机理。文章还展示了太赫兹技术在无创血糖监测、肿瘤检测等医疗诊断中的实验应用,总结了其非侵入性、高分辨率成像和多参数分析等优势,同时指出信号检测难、成本高和技术复杂等挑战。未来趋势包括设备小型化、效率提升及与人工智能融合,拓展至药物研发、皮肤与神经疾病诊断等领域,展现出变革医疗健康的巨大潜力。

milk8的博客 146

c#窗体开发

奇: 常用控件的使用(期间参杂着VS快捷键/常用设置) 快捷键:引用命名空间:shift+alt+F10 断点:F9 调试:F5 逐句调试(每行代码一次跳转):F11 逐过程调试:F10 重构提取方法:选中要重构的方法 ctrl+r ctrl+m 输入方法 确定 新建dll类库: 解决方案资源管理器--解决方案--右键--新建项目--选择--类库(.net Fram...

aochijing0046的博客 4823

7、刚度矩阵与弹簧元素:有限元分析的核心

本文深入探讨了有限元分析中的核心概念——刚度矩阵与弹簧元素。详细介绍了刚度矩阵的定义、构建方法及其对称性、正定性和稀疏性等性质,同时解析了弹簧和阻尼器元素的特性及其在模拟复杂系统中的应用,如液压缸、减震器等。通过结合刚度矩阵与弹簧元素,可以提高结构模型的精度并模拟复杂的工程系统。文章还讨论了优化策略、验证流程、误差分析及实际应用案例,展示了这些技术在桥梁分析、汽车悬挂系统等领域的重要作用,并展望了其在未来新材料、智能结构和数字孪生技术中的发展潜力。

nice1的博客 234

Windows应用程序基础之控件属性及方法

C#常用控件属性及方法介绍 1、窗体(Form) 2、Label (标签)控件 3、TextBox(文本框)控件 4、RichTextBox控件 5、NumericUpDown控件 6、Button(按钮)控件 7、GroupBox(分组框)控件 8、RadioButton(单选按钮)控件 9、CheckBox(复选框)控件 10、ListBox(列表框)控件 11、ComboBox(组合框)控件 12、CheckedListBox(复选列表框)控件 13、PictureBox(图片框)控件 14、Tim

yanshihaooo的博客 1774

《网络安全自学教程》- 防火墙原理分析与Windows防火墙使用配置

防火墙分类及原理,Windows开启防火墙,Windows防火墙添加策略,

wangyuxiang946的博客 1万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

视频教程-C#Winform窗体与界面设计-C#

C#Winform窗体与界面设计 二十多年的企业管理软件开发经历,熟知管理软...

weixin_29958749的博客 1864

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

C#——Windows应用程序常用控件

该控件的Maximum属性可以设置数值的最大值,如果输入的数值大于这个属性的值,则自动把数值改为设置的最大值。该控件的Minimum属性可以设置数值的最小值,如果输入的数值小于这个属性的值,则自动把数值改为设置的最小值。通过在控件的Click事件中判断控件的Checked属性的返回值是否为true,如果返回值是true,则控件被选中;在工具箱中单击要添加到窗体的空间,然后在该窗体上单击希望控件左上角所处的位置,然后拖拽到希望该控件右下角所处位置,控件即按指定的位置和大小添加到窗体中。

2401_86294292的博客 2171

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

C#常用控件属性及方法介绍

目录 1、窗体(Form) 2、Label (标签)控件 3、TextBox(文本框)控件 4、RichTextBox控件 5、NumericUpDown控件 6、Button(按钮)控件 7、GroupBox(分组框)控件 8、RadioButton(单选按钮)控件 9、CheckBox(复选框)控件 10、ListBox(列表框)控件 11、ComboBox(组合框)控件 12、CheckedListBox(复选列表框)控件 13、PictureBox(图片框)控件 14、T

世博的博客 3664

C#控件总结方便记忆

C#常用控件属性及方法介绍                                            

guangod的博客 595
上一篇: C#应用程序界面开发基础——窗体控制(4)——选择类控件(有部分地方没明白)
下一篇: C#应用程序界面开发基础——窗体控制(6)——菜单栏、工具栏和状态栏控件
DXB2021
博客等级 码龄5年 307粉丝 289原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值