Winform中的常用控件.docx

上传人:b****5 文档编号:5902044 上传时间:2023-01-02 格式:DOCX 页数:16 大小:22.80KB
下载 相关 举报
Winform中的常用控件.docx_第1页
第1页 / 共16页
Winform中的常用控件.docx_第2页
第2页 / 共16页
Winform中的常用控件.docx_第3页
第3页 / 共16页
Winform中的常用控件.docx_第4页
第4页 / 共16页
Winform中的常用控件.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

Winform中的常用控件.docx

《Winform中的常用控件.docx》由会员分享,可在线阅读,更多相关《Winform中的常用控件.docx(16页珍藏版)》请在冰豆网上搜索。

Winform中的常用控件.docx

Winform中的常用控件

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 员工信息录入窗体目标界面

◆∙实验步骤

(1):

由图1-9所示,从工具箱之中拖拽具体的控件到Form窗体上,并更改标签对象和按钮的text属性为图1-8所标内容。

将文本框,列表框和组合框的Enabled属性设置为False,即设置这些控件为不可用状态。

图1-9 工具箱拖拽控件对象

◆∙实验步骤

(2):

由图1-10所示,分别配置列表框和组合框的Items属性,在展开的字符串集合编辑器内输入图1-10所示的具体文本信息。

图1-10 配置列表框和组合框的Items属性

◆∙实验步骤(3):

用鼠标双击“添加”按钮,进入.cs文件编辑状态准备进行开发。

“添加”、“取消”和“关闭”按钮的鼠标单击事件详细代码加下:

小实验:

添加功能源代码:

privatevoidbutton1_Click(objectsender,EventArgse)

       {

           textBox1.Enabled=true;

           textBox2.Enabled=true;

           listBox1.Enabled=true;

           comboBox1.Enabled=true;//设置所有代码为可用状态;

           comboBox1.SelectedIndex=0;//设置组合框控件默认为第一个

           textBox1.Focus();//设置第一个文本框后的焦点

   }

小实验:

取消功能源代码:

privatevoidbutton2_Click(objectsender,EventArgse)

       {

           textBox1.Enabled=false;

           textBox2.Enabled=false;

           listBox1.Enabled=false;

           comboBox1.Enabled=false;//设置所有代码为不可用状态;

   }

小实验:

关闭功能源代码:

privatevoidbutton3_Click(objectsender,EventArgse)

       {

           Application.Exit();

//通知所有消息泵必须终止,并且在处理了消息以后关闭所有应用程序窗口。

   }

问题讨论:

使用Application.Exit()还是Form.Close()呢?

不论是Application.Exit(),还是Form.Close()都可以起到关闭当前窗体的作用,但是需要初学者了解这两种方法的差异性。

一个完整的WinForm程序从是Application.Run(newForm1)开始,到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-1Label标签控件属性及方法

2.案例学习:

标签控件的隐藏,窗口打开与关闭

本次实验目标是建立两个窗体,当点击图1-11的登录系统时候,可以打开另一个窗体,在点击文字打开后显示学校名称,点击文字隐藏时候隐藏学校名称。

通过本案例使读者快速掌握窗体的打开和关闭技巧,以及标签的隐藏方法。

图1-11 窗口打开与关闭窗体目标界面

◆∙实验步骤

(1):

由图1-11所示,从工具箱之中拖拽标签控件和linkLabel超链接文本控件到Form窗体上,更改标签文本的颜色、字体和大小属性,填写每个控件的Text属性文字内容,达到图1-11效果。

再建立Form2窗体,以便在点击“登录系统后”可以将之打开。

◆∙实验步骤

(2):

用鼠标双击“登录系统”超链接文本,进入.cs文件编辑状态准备进行开发。

代码加下:

小实验:

打开新窗体源代码:

privatevoidlinkLabel1_LinkClicked(objectsender,LinkLabelLinkClickedEventArgse)

       {

           linkLabel1.LinkVisited=true;//确认超文本文件链接是按照链接后的样式呈现。

           Form2newForm=newForm2();//实例化Form2窗体,命名为newForm

           newForm.Show();//将实例化后的窗体打开

           this.Hide();//当前的窗体隐藏

   }

小实验:

文字打开源代码:

privatevoidlinkLabel2_LinkClicked(objectsender,LinkLabelLinkClickedEventArgse)

       {

           label2.Show();

   }

小实验:

文字隐藏源代码:

privatevoidlinkLabel2_LinkClicked(objectsender,LinkLabelLinkClickedEventArgse)

       {

           label2.Hide();

   }

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

TextBox文本框控件是使用频度较高的控件,主要用以接收或显示用户文本信息。

其基本的属性和方法定义如表1-2所示:

属性

说明

MaxLength

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

Multiline

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

Passwordchar

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

ReadOnly

文本框中的文本为只读

Text

检索在控件中输入的文本

方法

说明

Clear

删除现有的所有文本

Show

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

事件

说明

KeyPress

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

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

Button按钮控件主要接收用户功能确认操作,以期执行具体的触发事件。

其基本的属性和方法定义如表1-3所示:

属性

说明

Enabled

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

方法

说明

PerFormClick

Button控件的Click事件

事件

说明

Click

单击按钮时将触发该事件

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

4.案例学习:

用户登录功能设计

本次实验目标是通过用户键入名称和密码,经过判别为非空性之后,再判断是否符合系统规定的内容,无论成功或者失败都提示用户操作结果。

如图1-12所示为目标界面:

图1-12 用户登录功能设计目标界面

◆实验步骤

(1):

由图1-12所示,从工具箱之中拖拽标签控件、Button按钮控件以及在工具栏内的容器之中的groupBox控件到Form窗体上,调整各个控件基本属性以达到图1-12效果。

特别值得注意的是对于用户密码文本框的设置工作,其更改属性办法如图1-13所示:

图1-13 改变文本框属性成为密码框

◆实验步骤

(2):

 

用鼠标双击“确定”按钮,进入.cs文件编辑状态准备进行开发。

代码加下:

小实验:

用户登录功能源代码:

privatevoidbutton1_Click(objectsender,EventArgse)

       {

           if(textBox1.Text==string.Empty||textBox2.Text==string.Empty)

           //此处复习逻辑或关系的编写和如何判别字串为空

           {

               MessageBox.Show("信息禁止为空!

","登录提示");

               //WinForm环境下的弹出对话框

               textBox1.Clear();

               textBox2.Clear();

               textBox2.Focus();

               //清空名称和密码文本框,并使得名称文本框获得焦点。

               return;

           }

           if(!

textBox1.Text.Equals("admin")||!

textBox2.Text.Equals("admin"))

           {

               MessageBox.Show("用户名称或密码为空!

","登录提示");//WinForm环境下的弹出对话框

               textBox1.Clear();//清理文本框的内容

               textBox2.Clear();

               textBox2.Focus();//清空名称和密码文本框,并使得名称文本框获得焦点。

               return;

           }

           else

           {

               MessageBox.Show("欢迎您登录本系统!

","消息提示");//WinForm环境下的弹出对话框

               textBox1.Clear();

               textBox2.Clear();

               textBox2.Focus();

           }

       }

}

小实验:

取消功能源代码:

privatevoidbutton2_Click(objectsender,EventArgse)

       {

           textBox1.Clear();

           textBox2.Clear();

       textBox2.Focus();//清空名称和密码文本框,并使得名称文本框获得焦点。

}

问题讨论:

代码是正确的,但是否是有效率的代码呢?

 

具有相同功能的业务逻辑必须集中处理,惟其如此才可以做到代码的高可维护性和高可用性。

将上述“清空名称和密码文本框,并使得名称文本框获得焦点”部分代码改为公用方法clear(),代码如下:

小实验:

优化后的源代码:

if(textBox1.Text==string.Empty||textBox2.Text==string.Empty)

           {

               MessageBox.Show("信息禁止为空!

","登录提示");

               clear();

               return;

           }

           if(!

textBox1.Text.Equals("admin")||!

textBox2.Text.Equals("admin"))

           {

               MessageBox.Show("用户名称或密码为空!

","登录提示");

               clear();

               return;

           }

           else

           {

               MessageBox.Show("欢迎您登录本系统!

","消息提示");

               clear();

           }

       }

       publicvoidclear()

//将具有共性的代码通过方法进行封装以提高执行效率

       {

           textBox1.Clear();

           textBox2.Clear();

           textBox2.Focus();

       }

}

5.ListBox列表框控件

ListBox列表框控件主要用以显示多行文本信息,以提供用户选择之用。

其基本的属性和方法定义如表1-4所示:

属性

说明

Items

列表框中的具体项目,需要用户自行编辑

SelectionMode

指示列表框是单项选择,多项选择还是不可选择

SelectedIndex

被选中的行索引,默认第一行为0

SelectedItem

被选中的行文本内容

SelectedItems

ListBox的选择列表集合

Text

默认的文本内容

方法

说明

ClearSelected

清除当前选择

事件

说明

SelectedIndexChanged

一旦改变选择即触发该事件

表1-4ListBox列表框控件属性及方法

6.案例学习:

使用列表框控件

本次实验目标是在Form窗体上建立一个列表框控件,窗体初始化的时候加载信息到列表框之中,当用户用鼠标点击某一行列表框内的信息时候,弹出对话框显示改行具体的文本信息内容。

如图1-14所示为目标界面:

图1-14 使用列表框实验目标界面

◆∙实验步骤

(1):

由图1-14所示,从工具箱之中拖拽列表框ListBox控件到Form窗体上,调整控件基本属性以达到图1-14效果。

◆∙实验步骤

(2):

用鼠标双击窗体界面,进入.cs文件编辑状态准备进行开发。

代码加下:

小实验:

窗体初始化加载事件源代码:

privatevoidForm1_Load(objectsender,EventArgse)

       {

           this.listBox1.Items.Add("软件部");

           this.listBox1.Items.Add("硬件部");

           this.listBox1.Items.Add("财务部");

           this.listBox1.Items.Add("人事部");//通过Add方法实现对下拉列表控件的信息填充工作。

    }

小实验:

单击ListBox的某行获取该行信息源代码:

privatevoidlistBox1_SelectedIndexChanged(objectsender,EventArgse)

       {

           MessageBox.Show("您选择的部门是:

"+listBox1.SelectedItem.ToString()+",位列第"+listBox1.SelectedIndex.ToString(),"信息提示");

       //注意学习:

listBox的SelectedIndex属性代表选中的行数

       //注意学习:

listBox的SelectedItem属性代表选中的行信息内容

   }

7.ComboBox组合框控件

ComboBox组合框控件为典型的多选一控件,主要用以限制用户在多个固定信息情况下选择唯一一行的文本信息,以确认用户选择逻辑。

其基本的属性和方法定义如表1-5所示:

属性

说明

DropDownStyle

ComboBox控件的样式

MaxDropDownItems

下拉区显示的最大项目数

方法

说明

Select

在ComboBox控件上选定指定范围的文本

表1-5ComboBox组合框控件属性及方法

8.案例学习:

使用组合框控件

本次实验目标是在FORM窗体上建立一个列表框控件,两个组合框控件以及一个文本框控件,通过这些控件彼此之间的关联,学习并掌握ComboBox组合框控件的主要属性和方法。

本次实验目标如图1-15所示。

图1-15ComboBox组合框控件实现目标界面

根据图1-15所示,在窗体初始化时候加载部门信息到列表框和组合框内,上下组合框的DropDownStyle属性不同,上面为DropDown类型,下面为DropDownList类型。

当选择上面组合框中的具体工作部门,选中信息将分别呈现在文本框,列表框和下面的列表框之中。

 

◆∙实验步骤

(1):

 

由图1-15所示,从工具箱之中拖拽一个列表框控件,两个组合框控件以及一个文本框控件到Form窗体上,调整控件基本属性以达到图1-15效果。

在设置上下两个组合框控件时候,分别设置其属性DropDownStyle属性为DropDown和DropDownList类型。

这两种类型呈现的效果完全一样,但是DropDown类型是可以读写的,但是DropDownList类型仅仅为只读状态,不可编辑。

DropDownStyle还有一个属性为SimPle,列表信息完全展开,类似于列表框的样式,并且也为只读状态,不可编辑。

见图1-16。

图1-16 ComboBox组合框控件DropDownStyle属性的三种状态

◆∙实验步骤

(2):

 

用鼠标双击窗体界面,进入.cs文件编辑状态准备进行开发。

代码加下:

小实验:

在窗体初始化事件Form_Load中加载数据到具体控件:

privatevoidForm011_Load(objectsender,EventArgse)

       {

           boBox1.Items.Add("财务部");

           boBox1.Items.Add("产品部");

           boBox1.Items.Add("销售部");

           boBox1.Items.Add("生产部");

           //默认的选择是"产品部"

           boBox1.SelectedIndex=1;

           boBox2.Items.Add("财务部");

           boBox2.Items.Add("产品部");

           boBox2.Items.Add("销售部");

           boBox2.Items.Add("生产部");

           //默认的选择是"产品部"

           boBox2.SelectedIndex=1;

           listBox1.Items.Add("财务部");

           listBox1.Items.Add("产品部");

           listBox1.Items.Add("销售部");

           listBox1.Items.Add("生产部");

           //默认的选择是"产品部"

           this.listBox1.SelectedIndex=1;

           //请读者注意学习comboBox,listBox控件如何定位值

           this.textBox1.Text="产品部";

    }

◆∙实验步骤(3):

选择上面的ComboBox控件,在其SelectedIndexChanged选择变换事件里面填写下面的代码。

小实验:

ComboBox控件的SelectedIndexChanged事件编码:

privatevoidcomboBox1_SelectedIndexChanged_1(objectsender,EventArgse)

       {

           stringmess=comboBox1.SelectedItem.ToString();

           comboBox2.SelectedItem=mess;

           listBox1.SelectedItem=mess;

           textBox1.Text=mess;

    }

9.对话框窗口

在用户操作窗体系统时候,经常会遇到与计算机的会话机制,如报错或者某种信息反馈等。

从根本上说对话框是继承窗体的并且被模式化的,对话框窗口(Dialog)更多的是从人机交互形式来看的,电脑给出提示所需参数并等待用户输入,使用者输入数据后执行,犹如一问一答的对话双方。

Windows程序中一般用窗体来实现这个人机交互形式,由于是用窗体系统实现Dialog,为了达到等待用户输入的目的因此引入了系统对话框窗口概念。

对话框窗口机制是一种典型的重载过程,该重载是通过Messa

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1