专栏首页python31-3 Winform 中的常用控件(

1-3 Winform 中的常用控件(

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 基本控件使用

1.Label标签控件

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();     }

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

TextBox文本框控件是使用频度较高的控件,主要用以接收或显示用户文本信息。其基本的属性和方法定义如表1-2所示:

属性

说明

MaxLength

可在文本框中输入的最大字符数

Multiline

表示是否可在文本框中输入多行文本

Passwordchar

机密和敏感数据,密码输入字符

ReadOnly

文本框中的文本为只读

Text

检索在控件中输入的文本

方法

说明

Clear

删除现有的所有文本

Show

相当于将控件的 Visible 属性设置为 True 并显示控件

事件

说明

KeyPress

用户按一个键结束时将发生该事件

表1-2 TextBox文本框控件属性及方法

Button按钮控件主要接收用户功能确认操作,以期执行具体的触发事件。其基本的属性和方法定义如表1-3所示:

属性

说明

Enabled

确定是否可以启用或禁用该控件

方法

说明

PerFormClick

Button 控件的 Click 事件

事件

说明

Click

单击按钮时将触发该事件

表1-3 Button按钮控件属性及方法

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python--GUI编程--Tkinter

    Tkinter: Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 .Tk 和 Tkinter 可以在大多数的 Unix ...

    py3study
  • 2-3 选项卡控件

    在 Windows 应用程序中,选项卡用于将相关的控件集中在一起,放在一个页面中用以显示多种综合信息。选项卡控件通常用于显示多个选项卡,其中每个选项卡均可包含图...

    py3study
  • 3-4 文件读写例子

    n学习通过文件流FileStream打开文本文件、写入文本文件、设置文件属性、实施对文件的目录操作管理的基本方法

    py3study
  • Android开发笔记(一百四十九)约束布局ConstraintLayout

    约束布局ConstraintLayout是Android Studio 2.2推出的新布局,并从Android Studio ...

    用户4464237
  • 自然框架,拆分后的项目关系

      拆分了一下自然框架,似乎又绕回去了。以前是多个项目分开放的,有人说太分散了,还得一个个下载,麻烦。于是就做了一个解决方案,把项目都放在了一起。   现在呢,...

    用户1174620
  • C# C/S控件库HZHControls使用指南

    HZHControls是一个基于.Net Framework4.0,扁平化的、漂亮的、开源的C/S控件库,这是官网的介绍,也就是作者专门开发的一套可以在C/S客...

    zls365
  • 【实现】表单控件里的子控件的变化。

         上一篇说的是表单布局上的变化,也就是通过TR、TD的设置,实现了多行多列的效果。那么格子画好了,我们 可以往里面放控件了。上次都是用的文本框,这个显然...

    用户1174620
  • 私活后的 WPF 设计经验总结

    WPF 是一个界面层框架技术,要对 WPF 技术达到熟练运用的程度,需要同时拥有开发和设计两方面的知识。而我作为一名开发人员,以前的总结都是站在开发人员的角度,...

    用户1172223
  • 当iOS遇见UI

    iOS应用开发的一项内容就是用户界面的开发。不管应用程序实际包含的逻辑有多复杂和优秀,如果这个应用没有提供友好的图形用户界面,那么也很难吸引最终用户。相反,如果...

    博文视点Broadview
  • 【程序源代码】Qt编写的一些开源的demo

    今天给大家讲一讲:Qt编写的一些开源的demo。内容相对比较简单 大家按照如下步骤进行操作就可以了。

    程序源代码

扫码关注云+社区

领取腾讯云代金券