Windows应用程序控件的基类是位于System.Windows.Forms命名空间的Control类。

Control类定义了控件类的共同属性、方法和事件,其他的控件类都直接或间接到派生自这个类。

控件分类 作用
文本类控件 文本类控件可以在控件上显示文本
选择类控件 主要为用户提供选择的项目
分组控件 使用分组控件可以将窗体中的其他控件进行分组处理
菜单控件 为系统制作功能菜单,将应用程序命令分组,使它们更容易访问
工具栏控件 提供主菜单中常用的相关工具
状态栏控件 用于显示窗体上的对象的相关信息,或者可以显示应用程序的信息

文本类控件主要包括标签控件(Label控件)、按钮控件(Button控件)、文本框控件(TextBox控件)和有格式文本控件(RichTextBox控件)。

(1) Label控件

属性:

Text 标签文本
Visible 显示/隐藏控件

(2) Button控件

属性:

AcceptButton 将按钮设置为窗体的“接受”按钮(Enter键按下,激发该按钮的Click事件)
CancelButton 将按钮设置为窗体的“取消”按钮(ESC键按下,激发该按钮的Click事件)

事件:

Click 单击事件

(3)TextBox控件

属性:

ReadOnly 只读属性
PasswordChar 输入密码时,文本框中显示的字符
UseSystemPasswordChar 为True时,输入密码,文本框中显示‘*’
Multiline 为True时,文本框可以输入多行数据
SelectionStart 设置选择文本的起始位置
SelectionLength 设置选择文本的长度

事件:

TextChanged 文本更改事件

(4)RichTextBox控件

属性:

ScrollBars 滚动条的显示样式属性
SelectionFont 设置控件中的字体的字体系列、大小和字样。
SelectionColor 设置字体的颜色。
SelectionBullet 将选定的段落设置为项目符号列表的格式。
SelectionIndent 该属性设置一个整数,该整数表示控件的左边缘和文本的左边缘之间的距离(以像素为单位)。
SelectionRightIndent 该属性设置一个整数,该整数表示控件的右边缘和文本的右边缘之间的距离。

选择类控件主要包括:下拉组合框控件(ComboBox控件)、复选框控件(CheckBox控件)、单选按钮控件(RadioButton控件)、数值选择控件(NumericUpDown控件)和列表控件(ListBox控件)。

(1) ComboBox控件

属性:

DropDownStyle 下拉列表样式:

Simple:使得ComboBox控件的列表部分总是可见的。
DropDown(默认值):使得用户可以编辑ComboBox控件的文本框部分,只有单击右侧的箭头才能显示列表部分。
DropDownList:用户不能编辑ComboBox控件的文本框部分,呈现下拉框的样式。

方法:

public void  SelectAll() 选择ComboBox控件的可编辑部分的所有文本。 
(在使用SelectAll方法之前,要将控件的DropDownStyle属性设置为DropDown,这样才能在文本框部分对选择项进行编辑。)

事件:

SelectedValueChanged 当下拉列表的选择项发生改变时,引发控件的该事件。

(2) CheckBox控件

属性:

CheckState 属性值Checked/Unchecked表示控件处于选择/未选择状态。

事件:

CheckStateChanged 当控件的选择状态发生改变时,将会触发该事件。

(3) RadioButton控件

属性:

Checked 属性值为true/false表示控件被选中/未被选中。

事件:

CheckedChanged 当控件的选中状态发生改变时,触发该事件。

(4) NumericUpDown控件

属性:

Maximum 可以设置属性值的最大值。
Minimum 可以设置属性值的最小值。
Value 可以获取控件中显示的属性。
DecimalPlaces 用于确定在小数点后显示几位数,默认值为0。
ThousandsSeparator 用于确定是否每隔3个十进制数字位就插入一个分隔符,默认情况下为false。
Hexadecimal 属性为true时,则该控件可以用十六进制显示值。默认情况下为false。

(5) ListBox控件

属性:

HorizontalScrollbar 属性值为true时,则显示水平滚动条。
ScrollAlwaysVisible 属性值为true时,则显示垂直滚动条。
SelectionMode 设置控件的选择模式,

MultiExtended 可以选择多项,并且用户可使用Shift键、Ctrl键和箭头键来进行选择。
MultiSimple 可以选择多项。
None 无法选择项。
One 只能选择一项

方法:

Items.Add() 可以向ListBox控件中添加项目。
Irems.Remove() 可以将ListBox控件中选中的项目移除。

分组类控件主要包括容器控件(Panel控件)、分组框类控件(GroupBox)和选项卡控件(TabControl控件)。

(1) Panel控件

容器控件用于为其他控件提供可识别的分组。(容器控件可以有滚动条)。

(2) GroupBox控件

分组框控件主要为其他控件提供分组,按照控件的分组来细分窗体的功能。(分组框控件没有滚动条)。

(3) TabContril控件

选项卡控件可以添加多个选项卡,然后在选项卡上添加子控件实现窗体的多页设计。

属性:

TabPage 选项卡的外观
Appearance 属性值可为Buttons/FlatButtons表示选项卡为三维按钮样式/平面按钮样式。

方法:

Add 添加控件到选项卡控件
Remove 从集合中移除TabPage
Clear 从集合中移除所有的选项卡页

(1) MenuStrip控件

菜单栏控件是程序的主菜单。(MenuStrip控件支持多文档界面、菜单合并、工具提示和溢出。可以通过添加访问键、快捷键、选中标记、图像和分割条,来增加菜单的可以用性和可读性。)。

(2) ToolStrip控件

工具栏控件是.NET架构2.0增加的新控件,它替换了早期版本的ToolBar控件、ToolStrip及相关联的类。

(3) StatusStrip控件

状态栏控件通常位于窗体的最底部,用于显示窗体上的对象的相关信息,或者可以显示应用程序的信息。

通常,StatusStrip控件有ToolStripStatusLabel对象组成,每个这样的对象都可以显示文本、图标或同时显示两者。

StatusStrip还可以包含ToolStripDropDownButton、ToolStripSplitButton、ToolStripProgressBar控件。

作者:韩兆新
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

C#学习——控件的更多相关文章

  1. swift系统学习控件篇:UIProgressView+NSTimer+UIstepper+UIAlertController

    工作之余,学习下swift大法.把自己的学习过程分享一下.当中的布局很乱,就表在意这些细节了.直接上代码: UIProgressView+NSTimer+UIstepper UIStepper UIP ...

  2. swift系统学习控件篇:UIbutton+UIlabel+UITextField+UISwitch+UISlider

    工作之余,学习下swift大法.把自己的学习过程分享一下.当中的布局很乱,就表在意这些细节了.直接上代码: UIButton+UILabel // // ViewController.swift // ...

  3. 迟到的 WPF 学习 —— 控件

    这一章书中内容比较多而杂,但每个对象的内容又相对简短,所以只挑选里边有代表性的内容做记录. 1. Label 控件:一个基础的简单的 ContentControl,Labe 支持快捷键文本的设置,可以 ...

  4. DOM学习控件定位和案例

    Dom中有多种定位属性,下面是一个简单案例 <html><!--制作一个会跟着鼠标走的图像,还有控件定位的案例--> <head> <title>doc ...

  5. MFC/QT 学习笔记(四)——MFC基于对话框学习控件(下)

    //5.列表控件 ListControl 属性 报表模式 view:Report:添加变量 //Cdemo5Dlg.cpp ps:资源视图 右键 类向导 成员变量 查看对象所属类 // TODO: 在 ...

  6. MFC/QT 学习笔记(四)——MFC基于对话框学习控件(上)

    新建项目->MFC模板->MFC应用程序->应用程序类型:基于对话框->...OK 解决方案资源管理器->资源文件->xxx.rc->进入:资源视图-> ...

  7. swift系统学习控件篇:UITableView+UICollectionView

    工作之余,学习下swift大法.把自己的学习过程分享一下.当中的布局很乱,就表在意这些细节了.直接上代码: UITableView: // // ViewController.swift // UIt ...

  8. PHP项目学习——控件

    主要是在项目学习中总结的一些东西 动态效果 flashbar滚动条,增加动态效果,直接嵌入html中 <!--flash滚动条--> <object classid="cl ...

  9. Android学习——控件ListView的使用

    一.ListView的简单用法 首先新建一个ListViewTest项目,并让Android Studio自动创建好活动.然后修改activity_main.xml中的代码,如下: <?xml ...

随机推荐

  1. Java面试之基础篇(2)

    11.是否可以从一个static方法内部发出对非static方法的调用? 不可以.因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用 ...

  2. Java面试之基础篇(1)

    1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致. 2.Java有 ...

  3. js 遍历数组取出字符串用逗号拼接

    var arr = [{"name":"hhh"},{"name":"dddd"}] //用js function ge ...

  4. asp.net能否上传文件夹下所有文件

    HTML部分 <%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="index.aspx. ...

  5. 所有input输入完成后,改变按钮颜色

    $(function(){ $('input').on('input propertychange',function(){ if(($.trim($('.add1').val())!==" ...

  6. [ZJU 1002] Fire Net

    ZOJ Problem Set - 1002 Fire Net Time Limit: 2 Seconds      Memory Limit: 65536 KB Suppose that we ha ...

  7. HDU-6705 Path

    Description You have a directed weighted graph with n vertexes and m edges. The value of a path is t ...

  8. Qt中图元对象的多重集成

    在继承自定义QGraphicsItem图元对象时,有时需要用到信号/槽机制,由于QGraphicsItem非QObject的子类 所以需要多重继承QObject,有一点需要特别注意:就是继承的顺序,一 ...

  9. 20180827(02)- Java发送邮件

    Java 发送邮件 使用Java应用程序发送E-mail十分简单,但是首先你应该在你的机器上安装JavaMail API 和Java Activation Framework (JAF) . 你可以在 ...

  10. Broken pipe

    出现broken pipe 的一种情况是向socket写数据,但是对端已经关闭socket连接,此时会触发SIGPIPE信号,该信号可以捕获. signal(SIGPIPE, SIG_IGN);