第二章:Windows常用控件

本章目标

  1. 掌握Windows常用控件

本章内容

Windows常用控件

问题:如何在窗体中布局以下效果的界面,需要使用到那些常用控件?

1714790251785

一:Lable标签

作用:

显示说明性文字,比如学号,密码等

1714790980753

常用属性:

Text:设置标签显示的内容

ForeColor:标签的颜色

二:Button按钮

作用:

当用户点击它,会进行下一步操作的行为

1714790946193

具体使用:

类似于QQ的登录界面,登录按钮

img

常用属性:

Enable:设置按钮是否可以点击,常用于步骤控制(例如:输完账户和密码才能点击登录)

Visable:设置按钮是否可以看见,常用于权限控制(权限不足的人看不见此按钮)

Name:设置按钮的名字,在后台调用此按钮时就使用这个名字

Text:显示在按钮上的文字(比如设置Text为‘登录’)

常用事件:

Click:检测按钮点击事件,调用按钮点击后所需执行的方法

三:TextBox文本框

作用:

所有需要在界面进行输入数据的操作都可以使用文本框来处理。文本框中可以输入汉字,字母,字符,数字,密码等所有字符。

img

具体使用:

QQ登录界面的账号输入框和密码输入框就是两个文本框。

img

常用属性:

Text:获取用户在框中输入的值或者设置在文本框中显示的值

PasswordChar:设置为密码框,设定密码输入显示的字符,比如说:*

Multiline:将文本框变成文本域(文本域可回车多行输入)

ReadOnly:只读,设置为true则不允许更改文本框里面的内容

四:CheckBox:可以进行勾选的选择框

作用:

可以进行多项勾选

img

具体使用:

比如QQ登录界面的 记住密码勾选框、自动登录勾选框

img �

常用属性:

Enable,Visable,Name,Text

AutoCheck:设置是否可以勾选和取消勾选

Checked:设置是否已经勾选还是未勾选(可以在后台读取此属性的值判断用户是否勾选了此选项)

CheckState:勾选框的默认状态(勾选,未勾选,不确定)

CheckAlign:设置勾选框的位置

常用事件:

CheckedChanged:监测Checked属性发生改变(勾选/取消勾选)

五:ComboBox:下拉框

作用:

主要用来展示信息和折叠信息

img

具体使用:

比如在这里语言选择的下拉框:

img =点击后=>img

常用属性:

Enable,Visable,Name

Items:像列表中添加项

DropDownStyle:指定或获取下拉列表的样式,具体有三个值:

  1. Simple:简单的下拉列表框,(无需下拉即显示所有内容)

    1714792678533

  2. DropDownList:只能在列表框只选择,不能直接修改里面的内容

    1714792740662

  3. DropDown:可以在列表框选择,也可以直接更改里面的内容

向下拉列表中传值:

  1. 静态传值:

    1
    2
    3
    4
    5
    6
    7
    //方式一:一条一条加入项目
    comboBox1.Items.Add("C#");
    comboBox1.Items.Add("Java");
    comboBox1.Items.Add("PLC");
    //方式二,动态加入数组的项目
    string[] strs = {"C#","JAVA","PLC" };
    comboBox1.Items.AddRange(strs);
  2. 动态传值,通过DataSource绑定数据,以后章节详细讲解:

    1
    2
    string[] strs = {"C#","JAVA","PLC" };
    comboBox1.DataSource= strs;
  3. 设置下拉框显示数据列表中第i个数据

    1
    comboBox1.SelectedIndex = 1;//默认选中下拉列表中的第一项

    注意事项:

    索引越界

  4. 获取当前下拉框中显示的值

    1
    string selectText=comboBox1.SelectedItem.ToString();

六:DataTimePicker:日期时间控件

作用:

设置日期或时间,可以选择任意日期,并在后台读取用户选择的时间。

调整Format属性可以改变其显示的格式

1714793687907

常用属性:

常用属性:Enable,Visable,Name

ShowCheckBox:是否有勾选框

Format:显示格式

  1. Long:长时期时间格式显示
  2. Short:短时期时间格式显示
  3. Time:以时间格式显示
  4. Custom:自定义格式显示

具体使用:

  1. 获取控件当前显示的时间(默认24小时制):

    1
    2
    DateTime dt=dateTimePicker1.Value;
    MessageBox.Show(dt.ToString());
  2. 获取12小时制的时间:

    1
    2
    string dt = dateTimePicker1.Value.ToString("yyyy-MM-dd hh:mm:ss") ;
    MessageBox.Show(dt.ToString());
  3. 获取24小时制的时间:

    1
    2
    string dt = dateTimePicker1.Value.ToString("yyyy-MM-dd HH:mm:ss") ;
    MessageBox.Show(dt.ToString());

    注意事项:

    获取的当前时间格式,可以通过ToString()方式指定格式。

  4. 设置控件当前显示的时间:

    1
    2
    3
    4
    dateTimePicker1.Value= DateTime.Now;

    //可以指定具体时间
    dateTimePicker1.Value = new DateTime(2024,5,4);
  5. 设置控件的时间显示格式:同时显示日期和时间

    1
    2
    dateTimePicker1.CustomFormat = "yyyy-MM-dd HH:mm:ss";
    dateTimePicker1.Format = DateTimePickerFormat.Custom;

七:RadioButton:单选框

作用:

与勾选框类似,但是当控件成对的出现时,一次只能从中勾选一个

常用属性:

常用属性:Enable,Name,Text

Checked:设置或判断当前选项是否被选中

容器控件

一:GroupBox:分组框

作用:

用于对这一组控件进行解释说明,进行分组,可显示标题

1714795011493

常用属性:

Auchor、Dock

Text:标题的名称

二:Panel:面板

作用:

Panel的英文翻译为:面板,方格板块

可以对整个窗体页面进行划分为不同的区域。每个区域可以放置不同的控件。控件可以在Panel区域范围内随意摆放。

img

说明:外面的虚线框范围就是一个panel

常用属性

Auchor:设置控件的对其方式

Dock:设置控件的停靠方式

三:SplitContainer:可分割容器

作用:

此控件可以看作是两个Panel组合而成的一个控件或者是一个Panel被分成两部分的控件,共有两个区域,在程序运行时,依旧可以调整中间的分割线来调整左右两部分的大小,并且可以进行嵌套以便区分为更多的部分,还可以横向分割。

img

基本应用:

img

具体说明:

例如此界面可以看作是这类控件,中间的分割线可以左右移动,以调整左右各区域的大小。

四:TabControl:选项卡集合

作用:

此控件可以看作是一组GroupBox的集合,它可以添加很多个页,点击每个页的标题,就会显示不同的页面内容,各个页面内容不冲突。

1714795474810

具体应用:

例如WPS中点击每一个标题,都会显示出来不同的子界面内容

img

其他控件

一:MaskTextBox:可以对用户输入信息进行控制的文本框

作用:

一般状态下与TextBox相同,可以通过对其设置掩码来控制用户在此文本框的输入内容。通过这些已经提供的掩码可以控制用户输入正确格式的时间,身份证号码等信息。

1714795895587

属性:

Mask:设置格式

二:MonthCalendar:月历卡

img

三:NotifyIcon:程序运行时显示在任务栏的图标

作用:

通过设置控件的Icon属性和Text属性,可以控制程序运行时显示在任务栏的图标和鼠标放上时显示的文字。

1714796388301

常用功能:

  1. 当窗体最小化时,点击图标正常显示窗体

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    private void notifyIcon1_MouseClick(object sender, MouseEventArgs e)
    {
    if (e.Button == MouseButtons.Left)
    {
    if (this.WindowState == System.Windows.Forms.FormWindowState.Minimized)
    {
    this.Show();
    this.WindowState = System.Windows.Forms.FormWindowState.Normal;
    }
    }
    }
  2. 设置右键功能:

    1. 添加右键控件:contextMenuStrip,设置左键项目

    2. 绑定NotifyIcon控件的左键控件

    3. 设置代码

      1
      2
      3
      4
      5
      6
      7
      private void notifyIcon1_MouseClick(object sender, MouseEventArgs e)
      {
      if(e.Button == MouseButtons.Right)
      {
      contextMenuStrip1.Show(MousePosition.X,MousePosition.Y);
      }
      }

四:NumericUpDown:数字输入控件

作用:

只允许用户输入数字的控件,并且可以通过点击按钮使数值加减。

img

五:PictureBox:图像显示框

作用:

可以用来显示图片内容。

img

属性:

Image:可设置图片

六:RichTextBox:高级文本输入框

作用:

此控件除了具有TextBox的所有功能外,还提供其他一些比如段落格式、字符设置等功能,通过一种更加丰富的文本输入方式。

img

课后作业

1.实现一个简易计算机,能够完成加减乘除功能。

2.实现一个自动切换图片的的电子相册

3.实现一个闹钟,能定时弹窗提示。

4.实现一个文本编辑器,能设置字体、颜色、对齐等属性。