1-3 Winform 中的常用控件(1)

简介:

1-3  Winform 中的常用控件

u      本节学习目标:
n  System.Windows.Forms.Control 基本结构
n  使用基本控件如标签、文本、按钮、列表框和组合框
n  掌握窗体的常用属性和方法
n  进行基本控件的开发设计工作
n  深入掌握系统对话框的属性及代码开发
n  掌握模式对话与非模式对话的概念及差异
n  了解模式对话的开发机理

1-3-1   简介

Winform  中的常用控件来自于系统 System.Windows.Forms.Control ,该类库来自 System.Windows.Forms 命名空间之内,该命名空间提供各种控件类,使用这些控件类,可以创建丰富的用户界面,具体实现功能由位于该命名空间下的 Control 系统类派生。 Control  类为在 Form 中显示的所有控件提供基本功能, Form 类表示应用程序内的窗口。这包括对话框,无模式窗口和多文档界面  (MDI)  客户端窗口及父窗口,同时也可以通过从 UserControl 类派生而创建自己的控件。
对于上述所有的这些可视化界面组件,我们统一称之为控件,这些控件都是源于 System.Windows.Forms 命名空间,该命名空间结构如图 1-7
1-7  System.Windows.Forms 命名控件集

1   案例学习:建立第一个winForm应用——员工信息录入功能

本次实验目标是快速建立如图 1-8 的员工信息录入窗体,通过该案例使读者快速掌握 Winform  中的常用控件包括:标签控件,文本框控件,按钮控件和组合框,列表框控件。
1-8   员工信息录入窗体目标界面
u  实验步骤(1):
由图 1-9 所示,从工具箱之中拖拽具体的控件到 Form 窗体上,并更改标签对象和按钮的 text 属性为图 1-8 所标内容。将文本框,列表框和组合框的 Enabled 属性设置为 False ,即设置这些控件为不可用状态。
1-9   工具箱拖拽控件对象
u  实验步骤(2):
由图 1-10 所示,分别配置列表框和组合框的 Items 属性,在展开的字符串集合编辑器内输入图 1-10 所示的具体文本信息。
1-10   配置列表框和组合框的Items属性
u  实验步骤(3):
用鼠标双击“添加”按钮,进入 .cs 文件编辑状态准备进行开发。“添加”、“取消”和“关闭”按钮的鼠标单击事件详细代码加下:
小实验: 添加功能源代码:
private  void button1_Click(object sender, EventArgs e)
        {
            textBox1.Enabled = true;
            textBox2.Enabled = true;
            listBox1.Enabled = true;
            comboBox1.Enabled = true;//设置所有代码为可用状态;
            comboBox1.SelectedIndex = 0;//设置组合框控件默认为第一个
            textBox1.Focus();//设置第一个文本框后的焦点
    }
小实验: 取消功能源代码:
private  void button2_Click(object sender, EventArgs e)
        {
            textBox1.Enabled = false;
            textBox2.Enabled = false;
            listBox1.Enabled = false;
            comboBox1.Enabled = false;//设置所有代码为不可用状态;
    }
小实验: 关闭功能源代码:
private  void button3_Click(object sender, EventArgs e)
        {
            Application.Exit();
//通知所有消息泵必须终止,并且在处理了消息以后关闭所有应用程序窗口。
    }
问题讨论: 使用 Application.Exit() 还是 Form.Close() 呢?
不论是 Application.Exit() ,还是 Form.Close() 都可以起到关闭当前窗体的作用,但是需要初学者了解这两种方法的差异性。
一个完整的 WinForm 程序从是 Application.Run(new Form1) 开始,到 Application.Exit() 结束,最终将执行销毁窗体和回收系统所有的资源任务,软件系统停止;而 Form.close() 只是关闭当前窗口和对话任务,整体程序不退出。如果只打开了一个窗体,那么这两种方案是一致的。
一般而言,如果只有一个窗口或者是 MDI (多文档窗体)里面的主窗口则是退出程序, Form.close() 也是一种安全的方式,但如果是打开多个文档窗口的情况,退出系统必须使用 Application.Exit () 方法。

1-3-2   基本控件使用

1Label标签控件

Label 标签控件是使用频度最高的控件,主要用以显示窗体文本信息。其基本的属性和方法定义如表 1-1 所示:
属性
说明
Text
该属性用于设置或获取与该控件关联的文本
方法
说明
  Hide
隐藏控件,调用该方法时,即使 Visible 属性设置为 True,控件也不可见
  Show
相当于将控件的 Visible 属性设置为 True 并显示控件
事件
说明
  Click
用户单击控件时将发生该事件
1-1 Label 标签控件 属性及方法

2   案例学习:标签控件的隐藏,窗口打开与关闭

本次实验目标是建立两个窗体,当点击图1-11的登录系统时候,可以打开另一个窗体,在点击文字打开后显示学校名称,点击文字隐藏时候隐藏学校名称。通过本案例使读者快速掌握窗体的打开和关闭技巧,以及标签的隐藏方法。
1-11   窗口打开与关闭窗体目标界面
u  实验步骤(1):
由图 1-11 所示,从工具箱之中拖拽标签控件和 linkLabel 超链接文本控件到 Form 窗体上,更改标签文本的颜色、字体和大小属性,填写每个控件的 Text 属性文字内容,达到图 1-11 效果。再建立 Form2 窗体,以便在点击“登录系统后”可以将之打开。
u  实验步骤(2):
用鼠标双击“登录系统”超链接文本,进入 .cs 文件编辑状态准备进行开发。代码加下:
小实验: 打开新窗体源代码:
private  void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            linkLabel1.LinkVisited = true; //确认超文本文件链接是按照链接后的样式呈现。
            Form2 newForm = new Form2();//实例化Form2窗体,命名为newForm
            newForm.Show();//将实例化后的窗体打开
            this.Hide();//当前的窗体隐藏
    }
小实验: 文字打开源代码:
private  void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            label2.Show();
    }
小实验: 文字隐藏源代码:
private  void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            label2.Hide();
    }

3TextBox文本框控件和Button按钮控件

TextBox 文本框控件是使用频度较高的控件,主要用以接收或显示用户文本信息。其基本的属性和方法定义如表 1-2 所示:
属性
说明
MaxLength
可在文本框中输入的最大字符数
Multiline
表示是否可在文本框中输入多行文本
Passwordchar
机密和敏感数据,密码输入字符
ReadOnly
文本框中的文本为只读
Text
检索在控件中输入的文本
方法
说明
Clear
删除现有的所有文本
Show
相当于将控件的 Visible 属性设置为 True 并显示控件
事件
说明
KeyPress
用户按一个键结束时将发生该事件
1-2 T extBox 文本框控件属性及方法
Button 按钮控件主要接收用户功能确认操作,以期执行具体的触发事件。其基本的属性和方法定义如表 1-3 所示:
属性
说明
Enabled
确定是否可以启用或禁用该控件
方法
说明
PerFormClick
Button  控件的  Click  事件
事件
说明
Click
单击按钮时将触发该事件
1-3 Button 按钮控件 属性及方法




本文转自 qianshao 51CTO博客,原文链接:http://blog.51cto.com/qianshao/201505,如需转载请自行联系原作者

目录
相关文章
|
3月前
|
存储 设计模式 开发框架
总结开发中基于DevExpress的Winform界面效果
总结开发中基于DevExpress的Winform界面效果
|
C# Windows
wpf怎么使用WindowsFormsHost(即winform控件)
原文:wpf怎么使用WindowsFormsHost(即winform控件) 使用方法:   1、首先,我们需要向项目中的引用(reference)中添加两个动态库dll,一个是.
5359 0
|
Java C# 索引
C#之 十九 使用WinForm控件
C#之 十九 使用WinForm控件
194 0
|
数据挖掘 Python
【WinForm】WinForm实现音乐播放器
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
102 0
|
Shell C++ C语言
38【WinForm】WinForm常见窗体技术汇总
- 窗体调用外部程序与渐变窗体 - 按回车键跳转窗体中的光标焦点 - 剪切板操作
74 0
|
C# 容器
在WPF中使用winform控件WebBrowser
在WPF中使用winform控件WebBrowser
|
C# Windows 安全
WinForm控件与WPF控件的交互
原文:WinForm控件与WPF控件的交互 这个问题其实也可以理解为:怎样在WPF/XAML中使用Winform中的控件(如PictureBox)?首先看看XAML代码:(注意下面加粗的部分)              ...
1080 0
|
C# 容器
在WPF中使用WinForm控件方法
原文:在WPF中使用WinForm控件方法 1、      首先添加对如下两个dll文件的引用:WindowsFormsIntegration.dll,System.Windows.Forms.dll。
1241 0
|
C#
在Winform窗体中使用WPF控件(附源码)
原文:在Winform窗体中使用WPF控件(附源码) 今天是礼拜6,下雨,没有外出,闲暇就写一篇博文讲下如何在Winform中使用WPF控件。原有是我在百度上搜索相关信息无果,遂干脆动手自己实现。 WPF控件的漂亮是Winform无法匹及的,本文主旨是在Winform工程中如何使用WPF控件。
1886 0