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. 【leetcode】Reaching Points

    题目如下: A move consists of taking a point (x, y) and transforming it to either (x, x+y) or (x+y, y). G ...

  2. Alter改变终结

    #alter#删除date列但若表中只有一个字段无法使用drop删除ALTER TABLE z_staff_info_copy1 DROP `date`;ALTER TABLE z_staff_inf ...

  3. RabbitMQ 工作图解

    (转网上的图) (原文地址 ,http://www.cnblogs.com/knowledgesea/p/5296008.html)

  4. 大数据笔记(二十)——NoSQL数据库之MemCached

    一.为什么要把数据存入内存? 1.原因:快2.常见的内存数据库 (*)MemCached:看成Redis的前身,严格来说Memcached的不能叫数据库,原因:不支持持久化 (*)Redis:内存数据 ...

  5. Linux shell -查找字符(find,xargs,grep)

    在当前目录下查找含有jmxremote字符的文件 test@>find . -type f|xargs grep "jmxremote" . 当前目录 -type 查找文件类 ...

  6. ANativeWindow_fromSurface

    c++后台若使用ANativeWindow_fromSurface将surface转化为ANativeWindow: 需要头文件:#include <android/native_window_ ...

  7. MK66FN2M0VLQ18

    NXP Kinetis K66: 180MHz Cortex-M4F MCU, 2MB Flash, 256KB SRAM, Dual USBs (FS + HS), Ethernet, 144-LQ ...

  8. 二十八、python中的os模块

    A.os模块:系统相关的(相对比较常用的有:os.stat('path/filename'),os.path.split(path),os.path.dirname(path),os.path.bas ...

  9. Exchanger 源码分析

    Exchanger 此类提供对外的操作是同步的: 用于成对出现的线程之间交换数据[主场景]: 可以视作双向的同步队列: 可应用于基因算法.流水线设计.数据校对等场景 创建实例 /** * arena ...

  10. 006-spring-data-elasticsearch 3.0.0.0使用【四】-spring-data之Elasticsearch Repositories

    续 二.Elasticsearch Repositories 2.1.简介 2.1.1.Spring命名空间 Spring Data Elasticsearch模块包含一个允许定义存储库bean的自定 ...