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属性来确定子窗体。(属性中没有这个选项,需要通过代码设置)示例。

cpp 复制代码
   Form2 form2 = new Form2();
   form2.Show();
   form2.MdiParent = this;

2.排列MDI子窗体

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

cs 复制代码
  LayoutMdi(MdiLayout.TileHorizontal); //水平排列

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

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

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

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

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

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

修改继承窗体的属性

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

第十章 控件

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

(1)控件常用操作

添加控件

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

2.通过代码添加。示例

cs 复制代码
  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属性------设置段落格式。

示例

cs 复制代码
    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()方法。

示例

cs 复制代码
 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属性。

示例:

cs 复制代码
     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属性------获取选中的日期。

示例

cs 复制代码
   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#的界面开发。更多详细内容请观看视频。

相关推荐
2401_867021901 分钟前
C++11·部分重要语法III
开发语言·c++
float_六七30 分钟前
C++ utility头文件深度解析:从pair到移动语义的完全指南
java·开发语言·c++
努力学习的小廉34 分钟前
【C++】 —— 笔试刷题day_11
开发语言·c++
司六米希34 分钟前
【C语言】long vs int (数据范围\平台兼容性\性能优化)
c语言·开发语言
宦如云1 小时前
PHP语言的分布式账本
开发语言·后端·golang
钮钴禄·爱因斯晨1 小时前
Java 面向对象编程中 static 的深度剖析与实践
java·开发语言
大桶矿泉水2 小时前
RK3588使用笔记:系统联网配置
笔记·rtl8723bu·usb wifi linux·网络共享到linux·linux配网
花之亡灵2 小时前
.net 6 + vue3中使用SignaIR实现双向通信功能
前端·javascript·笔记·websocket·.net·信息与通信
大白曾是少年2 小时前
【Java进阶学习 第十篇】递归和异常
java·笔记·学习
【云轩】2 小时前
《边缘计算风云录:FPGA与MCU的算力之争》
笔记·嵌入式硬件