目录
本文主要介绍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#的界面开发。更多详细内容请观看视频。