C#从入门到精通(3)

       

目录

第九章  窗体

(1)From窗体   

(2)MDI窗体

(3)继承窗体

第十章 控件

(1)控件常用操作

(2)Label控件

(3)Button控件

(4)TextBox控件

(5)RichTextBox控件

(6)ComboBox控件

(7)CheckBox控件

(8)RadioButton控件

(9)NumericUpDowm控件

(10)ListBox控件

(11)Panel控件

(12)GroupBox控件

(13)TabControl控件

(14)MenuStrip控件

(15)ToolStrip控件

(16)StatusStrip控件

(17)ImageList组件

(18)ListView控件

(19)TreeView控件

(20)DateTimePicker控件

(21)MonthCalender控件

(22)ErrorProvider控件

(23)HelpProvider控件

(24)Timer组件

(25)ProgressBar控件


 本文主要介绍C#的界面开发。观看的视频教程——C#从入门到精通(第6版)_哔哩哔哩_bilibili

        如有时间,推荐观看视频学习。本文主要对其进行总结。

第九章  窗体

        窗体是向用户显示信息的可视化界面。也是windows应用程序的基本单元。每个窗体都有自己的特征,可以通过编程来进行设置。

        窗体一般通过可视化的窗体设计器来进行设计。

(1)From窗体   

1.添加与删除窗体

        添加:右键单击项目,选择添加,选择添加窗体。

        删除:右键单击要删除的窗体,选择删除。

 2.设置启动窗口

        一个项目中有多个窗口,在项目运行时要设置启动窗口。需要在program.cs文件中改变Run方法的参数来设计启动窗口。  

3.设置窗体的属性

窗体图标Icon属性
窗体标题栏FromBorderStyle属性
窗体显示位置StartPositon属性
窗体大小Size属性
窗体背景图片

BackgroundImage属性

控制窗体在最上边TopMost属性

4.窗体常用的方法

        show方法——显示窗体。

        Hide方法——隐藏窗体。

        Close方法——关闭窗体

5.窗体常用的事件

        Load事件——窗体加载时触发。

        FormClosing事件——窗体关闭时触发。

(2)MDI窗体

        多文档界面。用于显示多个文档,每个文档显示在各自的窗口中。MDI窗体通常包换子菜单的窗口菜单,用于在窗口或文档之间进行切换。

1.设置MDI窗体

        MDI窗体中有父窗体和子窗体。

        父窗体设置:在属性中,将IsMdiContainer属性设置为True即可。

        子窗体设置:通过设置MdiParent属性来确定子窗体。(属性中没有这个选项,需要通过代码设置)示例。

   Form2 form2 = new Form2();form2.Show();form2.MdiParent = this;

2.排列MDI子窗体

        通过使用LayoutMdi方法来排列多文档界面父窗体中的子窗体。例如

  LayoutMdi(MdiLayout.TileHorizontal); //水平排列LayoutMdi(MdiLayout.TileVertical);//垂直排列
(3)继承窗体

     将父类窗体的功能继承到子类,提高代码复用率。减少重复代码的编写。

创建继承窗体的两种方法:

        1.修改继承类。在窗体代码中修改窗体继承的类。

        2.使用继承选取器。在添加新建项中选择继承的窗体,选择要继承的对象。(需要先编译一下)。

注意,为从一个窗体继承,包换该窗体的文件或命名空间必须已经编译成可执行文件DLL。   

修改继承窗体的属性

        在父窗体中找到Modifiers属性,修改为public。和类的继承很像(把一个窗口当成一个类就行了)。

第十章 控件

        控件:是带有可视化表示形式的组件。其基类是Control类。

(1)控件常用操作

        添加控件

        1.打开工具箱,选择要添加的控件,拖动到窗口中。

        2.通过代码添加。示例

  TextBox textBox = new TextBox();textBox.Location = new Point(10,10);this.Controls.Add(textBox);

        对齐控件——选中控件,点击格式中选择要对齐的方式。

        删除控件——选中控件,右击选择删除。

(2)Label控件

        标签控件,用于显示用户不能进行编辑的文本。标识窗体上的对象等。

(3)Button控件

        按钮控件,允许用户通过单击执行操作。既可以显示文本,也可以显示图像。

        常用属性:Text属性用来设置控件的文本。Click事件用来指定Button按钮点击时执行的操作。

(4)TextBox控件

        文本框控件,用于获取用户输入的数据或显示文本。通常用于可编辑文本,也可使其称为只读文本。

        常用属性:

        ReadOnly属性——创建只读文本框。

        PasswordChar属性——创建密码文本框。

        Multiline属性——创建多行文本框。

        TextChanged事件——响应文本框的文本更改事件。

(5)RichTextBox控件

        有格式文本框控件,用于显示、输入和操作带有格式的文本。比如可以实现显示字体、颜色、链接、从文件加载文本及嵌入的图像、撤销和重复编辑操作以及查找指定的字符等功能。

        常用属性:

        ScrollBars属性——显示滚动条。

        SelectionFont属性和SelectionColor属性——设置字体属性。

        Text属性和LinkClicked事件——显示为超链接样式。

        SelectionBullet或SelectionIndent属性——设置段落格式。

示例

    richTextBox1.SelectionFont = new Font("宋体", 12, FontStyle.Bold);richTextBox1.SelectionColor = Color.Red;richTextBox1.Text = "http://baidu.com"; //超链接System.Diagnostics.Process.Start(e.LinkText);richTextBox1.SelectionBullet = true; //开头原点richTextBox1.SelectionIndent = 50;// 开头间隔
(6)ComboBox控件

        下拉组合框控件,主要用于在下拉组合框中显示数据,该控件主要有两部分组成。第一部分是允许用户输入列表项的文本框。第二部分是一个列表框,显示一个选项列表,用户可以从中选择项。

        常用属性:

        Item属性——用于添加下拉框选择项。

        DropDownStyle属性——设置下拉组合框。

        SelectedIndexChanged事件——响应下拉组合框的选项值更改事件。

(7)CheckBox控件

        复选框控件,用来表示是否选取了某个选项条件,常用于为用户提供具有 是/否的选项。

        常用属性:

        CheckState属性——判断复选框是否选中。

        CheckedChanged事件——响应复选框的选中状态更改事件。

(8)RadioButton控件

        单选按钮事件,为用户提供由两个或多个互斥选项组层的选项集。当用户选中某个单选按钮时,同一组的其他单选按钮不能选。

        常用属性:

        Checked属性——判断单选按钮是否选中。

        CheckedChanged属性——响应单选按钮选中状态更改事件。

(9)NumericUpDowm控件

        数字选择控件,常用于数字的选择。例如选择页码等。

        常用属性:

        Value属性——获取选择的值。

        DecimalPlaces属性——显示小数点后几位。

(10)ListBox控件

        列表控件,它主要用于显示一个列表,用户可以从中选择一项或多项,超出总数,控件会自动添加滚动条。

        常用属性:

        Items属性的Add方法和Remove方法——添加和移除项。

        HorizontalScrollbar属性和ScrollAlwaysVisable属性—— 总显示滚动条。

        SelectionMode属性——选择多个项。

(11)Panel控件

        作用:1.分组窗体中的控件。2.批量控制窗体中的控件的显示与隐藏。

        常用属性:

        Visable属性——用来修改是否显示。

(12)GroupBox控件

        分组框控件,主要为其他控件提供分组,并且按照控件的分组来显示细分窗体的功能。显示边框和标题。

        常用属性:

        Text属性——设置分组框的标题。

(13)TabControl控件

        进行选择的控件,其中可以包含子控件。

        常用操作:

        改变选项卡的显示样式——TabPage对象和ImageList控件结合。

        选项卡添加控件——Controls对象的Add()方法。

        添加、删除选项卡——TabPage属性的Add()方法与Remove方法。

        移除所有选项卡——TabPage属性的Clear()方法。

示例

 tabControl1.ImageList = imageList1; //设置图标tabPage1.ImageIndex = 0;tabPage2.ImageIndex = 1;Button button = new Button(); //添加子控件button.Text = "OK";tabPage2.Controls.Add(button);TabPage tb = new TabPage("新增选项卡"); //添加选项卡tabControl1.Controls.Add(tb);tabControl1.Controls.Remove(tb);//删除选项卡tabControl1.TabPages.Clear(); //清空选项卡
(14)MenuStrip控件

        菜单控件,主要用来设计程序的菜单栏。

(15)ToolStrip控件

        工具栏控件,使用该控件可以创建具有Office、WindowsXP或自定义的外观和行为工具栏及其他用户界面元素。

(16)StatusStrip控件

        状态栏控件,通常放置在窗体的最底部,用于显示窗体上的一些对象的相关信息。或显示应用程序的信息。

(17)ImageList组件

        图片存储组件,主要用于存储图片资源,然后在控件上显示出来,简化了对图片的管理。

        主要属性为Images,关联控件将要使用的图片。图片通过键值或索引值来访问,并且其所有图片将压缩至相同大小显示。由ImageSize属性设置。将较大图片将压缩至适当的尺寸。

        常用属性:

        ColorDepth——获取图像列表的颜色深度。

        Images——获取此图像列表的ImagesList.ImageCollection。

        ImageSize——获取或设置图像列表中的图像大小。

        ImageStream——获取此图像列表关联的ImageListStreamer。

(18)ListView控件

        列表视图控件,它主要用于显示带图标的项列表,其中可以显示大图标、小图标和数据。

        常用方法:

        添加项——Items属性的Add方法。

        移除项——Items属性的Remove方法或Clear方法。

        选择项——Selected属性。

        添加图标——SmallImageList、LargeImageList或StateImageList属性。

        启动平铺视图——View属性。

        项分组——Group属性。

示例:

     listView1.Items[0].Group = listView1.Groups[0];//第一项分到第一组listView1.Items[1].Group = listView1.Groups[1];//第二项分到第二组
(19)TreeView控件

        树控件,可以为用户显示节点层次结构,而每个节点又可以包含子节点,包含子节点的节点叫父节点。

        常用方法:

        添加和删除树节点——Nodes属性的Add、Remove方法。

        获取选中节点——AfterSelect事件、Nodes.Text属性。

        为节点设置图标——ImageList、ImageIndex和SelectedImageIndex属性。

(20)DateTimePicker控件

        日期控件。用于显示时间。

        常用属性:

        Foremat属性——设置控件显示日期时间格式。

        CustomFormat属性——自定义显示格式。

        Value属性——获取选中的日期。

示例

   dateTimePicker1.Format = DateTimePickerFormat.Custom;dateTimePicker1.CustomFormat = "MMMM dd,yyyy-dddd";label1.Text = dateTimePicker1.Value.ToShortDateString();
(21)MonthCalender控件

        月历控件,用于显示日期。

        常用属性:

        ShowWeekNumbers——设置显示外观。

        CalendarDimensions——同时显示多个月份。

        SelectionStart、SelectionEnd——选择日期范围的开始日期、结束日期。(只能选择一周之内的日期范围)。

(22)ErrorProvider控件

        在不打扰用户的情况下向用户显示错误发生。

        常用方法:

        SetError()方法——用于Validating事件中。

(23)HelpProvider控件

        调用帮助文件。

        常用属性和方法:

        HelpNamespace属性——指定帮助文件名。(放在项目debug下可以用相对路径,放在其他位置要用绝对路径)

        SetShowHelp()方法——设置是否显示帮助信息。

(24)Timer组件

        计数器组件,用于定期的引发事件。时间间隔长度有Interval属性定义。其属性值以毫秒为单位。启用该组件,每隔一个时间间隔引发一次Tick时间爱你,开发人员可以再Tick事件添加要执行的代码。

        常用属性和方法:

        Enabled属性——获取或设置计时器是否正在运行。

        Interval属性——获取或设置触发Tick事件的时间间隔。

        Start方法——启动定时器。

        End方法——关闭定时器。

        Tick时间——触发的事件。

(25)ProgressBar控件

        进度条,指示工作的进度。帮助用户观察进度。

        常用的属性:

        Value——进度条进度值。

        Minimum——进度条最小值。

        Maximum——进度条的最大值。

        Step——进度条的步长。

        PerfromStep——每次增加一个步长。

本文主要介绍C#的界面开发。更多详细内容请观看视频。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/76463.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于跨域与.NET的处理方案

在 Web 开发里,浏览器的同源策略是一项关键的安全机制。同源指的是两个 URL 的协议、域名和端口都相同。当浏览器从一个源(域名、协议、端口)的网页去请求另一个源的资源时,就会产生跨域问题。例如,从 http://www.exam…

react 15-16-17-18各版本的核心区别、底层原理及演进逻辑的深度解析--react18

React 18 是一次重大的版本升级(发布于2022年),引入了并发渲染(Concurrent Rendering) 和一系列新特性,旨在提升应用性能、用户体验和开发灵活性。 一、核心新特性 并发模式(Concurrent Mode&a…

基于Spring Boot的平面设计课程在线学习平台系统的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

Scala-面向对象

Scala 包 基本语法 package 包名 Scala 包的三大作用(和 Java 一样) 区分相同名字的类 当类很多时,可以很好的管理类 控制访问范围 包的命名、说明、对象 包的命名 命名规则 只能包含数字、字母、下划线、小圆点.,但不能用数字…

Excel 使用技巧:excel 合并不同列内容; excel 将公式转化为文本

Excel 使用技巧 目录 Excel 使用技巧excel 合并不同列内容="A:"&C1&"、B:"&D1&"、C:"&E1&"、D:"&F1excel 将公式转化为文本右键选择行粘贴某一列均填入“提示词”单击拖动双击某一列均填入“1”清除1…

【数字化转型,企业应用上云】---持续集成能力重塑企业软件交付新范式

在数字化转型浪潮中,软件交付的速度与质量已成为企业核心竞争力的关键。如何高效管理从代码开发到生产上线的全流程,实现开发与运维的无缝协作?如何通过自动化手段减少人为失误、加速迭代周期?我们出的研发效能管理平台&#xff0…

OpenCV图像形态学:原理、操作与应用详解

一、引言 图像形态学(Image Morphology)是图像处理领域的一个重要分支,它基于集合论、格论、拓扑学和随机函数理论,主要用于分析和处理图像的几何结构。形态学操作通过特定的结构元素(Structuring Element)…

jenkins 参数化发布到服务器 publish over ssh、label、Parameterized publishing

前言 jenkins 参数化发布到服务器 jenkins可匹配标签通过一个字符串或者正则表达式来匹配jenkins 可通过参数配置发布到服务器,比如打包后,根据参数配置,只发布到某个服务器。 设置选项参数 新增选项参数,比如填入myParameter…

第十二章网络规划设计

文章目录 12-1考点分析12-2综合布线(历年高频考点)12-3网络设计与分析12-4网络结构与功能12-5广域网接入技术12-6网络故障诊断与排查章节总结 12-1考点分析 12-2综合布线(历年高频考点) 结构化布线系统 网络规划和设计是一个迭代和优化的过程。 ■ 结构化综合布线系统是基于…

Qt基本框架(1)

本篇主要介绍Qt的基本框架,并实现简单的按钮事件 本文部分ppt、视频截图原链接:[萌马工作室的个人空间-萌马工作室个人主页-哔哩哔哩视频] 1. Qt基本框架介绍 Qt基本框架主要分为两部分:Qt实例对象和Qt窗口。Qt实例对象负责初始化Qt运行时…

数据仓库项目启动与管理

数据仓库项目启动与管理 确定项目 评估项目就绪情况 项目就绪的三个条件 强力型高级业务管理发起人 对数据仓库解决方案的影响有先见之明是所在组织内有影响的领导者要求严格,但是又比较现实,会为其他成员提供强力支持 强制型业务动机 数据仓库系统和战略性业务动机紧密结合…

C 标准库 - `<ctype.h>`

C 标准库 - <ctype.h> 在C语言编程中&#xff0c;标准库函数 <ctype.h> 提供了一组用于检查字符类型、转换大小写以及其他字符处理的函数。这些函数对于字符处理和字符串操作至关重要&#xff0c;特别是在处理用户输入或文件内容时。以下是关于 <ctype.h> 标…

安装完 miniconda3 ,cmd无法执行 conda 命令

提示&#xff1a;安装 miniconda3 文章目录 前言一、安装二、安装完&#xff0c;cmd 无法执行 conda 前言 提示&#xff1a;版本 系统&#xff1a;win10 codna: miniconda3 安装完 miniconda3 &#xff0c;cmd无法执行 conda 命令 提示&#xff1a;以下是本篇文章正文内容&am…

RedisTemplate 的 6 个可配置序列化器属性对比

RedisTemplate 的 6 个可配置序列化器属性对比 RedisTemplate 提供了以下 6 个核心属性&#xff0c;用于分别配置键、值、哈希类型数据的序列化方式&#xff1a; 1. keySerializer 作用&#xff1a;定义 Redis 键的序列化方式。默认值&#xff1a;JdkSerializationRedisSeria…

设计模式之适配器模式(二):STL适配器

目录 1.背景 2.什么是 STL 适配器&#xff1f; 3.函数对象适配器 3.1.std::bind 3.2.std::not1 和 std::not2 3.3.std::mem_fn 4.容器适配器 4.1.std::stack(栈) 4.2.std::queue&#xff08;队列&#xff09; 4.3.std::priority_queue&#xff08;优先队列&#xff0…

LabVIEW故障诊断数据处理方法

在LabVIEW故障诊断系统中&#xff0c;数据处理直接决定诊断的准确性和效率。工业现场常面临噪声干扰、数据量大、实时性要求高等挑战&#xff0c;需针对性地选择处理方法。本文结合电机故障诊断、轴承损伤检测等典型案例&#xff0c;详解数据预处理、特征提取、模式识别三大核心…

51单片机的五类指令(二)——算术运算类指令

目录 一、加法指令 &#xff08;一&#xff09;不带进位加法指令&#xff08;ADD&#xff09; &#xff08;二&#xff09;带进位加法指令&#xff08;ADDC&#xff09; &#xff08;三&#xff09;加 1 指令&#xff08;INC&#xff09; &#xff08;四&#xff09;十进制…

【FPGA】状态机思想回顾流水灯

【FPGA】状态机思想回顾流水灯 一、LED流水灯实现1. 基本要求2. 状态机思想3. 关键代码4. 仿真测试5. 效果演示 二、CPLD和FPGA1. 技术区别2. 应用场景 三、HDLbits组合逻辑题目四、实验总结 一、LED流水灯实现 1. 基本要求 用状态机思想写一个 LED流水灯的FPGA代码写出仿真测…

Python网络爬虫:从入门到实践

目录 什么是网络爬虫&#xff1f; 网络爬虫的工作原理 常用Python爬虫库 编写爬虫的步骤 实战示例 注意事项与道德规范 未来趋势 1. 什么是网络爬虫&#xff1f; 网络爬虫&#xff08;Web Crawler&#xff09;是一种自动化程序&#xff0c;通过模拟人类浏览行为&#x…

3D意识(3D Awareness)浅析

一、简介 3D意识&#xff08;3D Awareness&#xff09;主要是指视觉基础模型&#xff08;visual foundation models&#xff09;对于3D结构的意识或感知能力&#xff0c;即这些模型在处理2D图像时是否能够理解和表示出图像中物体或场景的3D结构&#xff0c;其具体体现在编码场景…