• C# 第六章『交互式图形界面』◆第2节:控件(1)


            一、概述

            在C#中,控件的基类是位于System.Windows.Forms命名空间下的Control类。Control类定义了控件类的共同属性、方法和事件,其他的控件类都直接或间接地派生自这个基类。

            二、控件的相关操作

            1、添加控件

            ①在窗体中绘制控件:在工具箱中单击要添加到窗体的控件,在窗体中按住鼠标左键进行拖动。

            ②将控件直接拖拽到窗体中。

            ③以编程方式向窗体中添加控件:通过new关键字实例化要添加控件所在的类,然后将实例化的控件添加到窗体中。(不太常用)

    第一步在窗体中拖入一个button1

             第二部:双击button1,或在button事件中双击Click。

    在当前事件中输入以下代码即可
    最后启动,按button1后出现

             2、对齐控件

            先选定主导控件(第一个被选定的控件就是主导控件),控件组的最终位置取决于主导控件的位置,再在—菜单栏—格式—对齐选择,选择对齐的方式。

             3、删除控件

            右键选择删除、选中控件按delete键。

            三、常用控件的使用

             1、Label控件(标签控件)

            主要用于显示用户不能编辑的文本,标识窗体上的对象,一般是用作描述信息作用等。另外也可以通过编写代码来设置要显示的文本信息。

            ①设置标签文本

            可以通过两种方法设置Label控件显示的文本:第一种直接在Label控件的属性面板中设置Text属性;第二种通过代码设置Text的属性。

    label1.Text = "帐号:";

            ②显示/隐藏控件

            通过设置Visible属性来设置显示/隐藏Label控件,如果Visible属性的值为true,则显示控件;如果Visible属性的值为false,则隐藏控件。

    label1.Visible = true;

            2、Button控件(按钮控件)

            允许用户通过单击来执行操作。button控件既可以显示文本,也可以显示图像。

    1. private void button1_Click(object sender,EventArgs e)
    2. {
    3. MessageBox.Show("开始");
    4. }
    5. private void button2_Click(object sender,EventArgs e)
    6. {
    7. Application.Exit();//推出当前程序
    8. }

            3、TextBox控件(文本框控件)

            TextBox控件主要用于获取用户输入的数据或显示文本,它通常用于可编辑文本,也可以使其成为只读控件。文本框可以显示多行。

            ①创建只读文本框

            通过设置文本框控件的ReadOnly属性,可以设置文本框是否为只读。如果ReadOnly属性为true,那么不能编辑文本框,只能通过文本框显示数据。

    textBox1.ReadOnly = true;//文本框设置为只读

            ②创建密码文本框

            通过设置文本框的PasswordChar属性或UseSystemPasswordChar属性可以将文本框设置成密码文本框。使用PasswordChar属性可以设置输入密码时文本框中显示的字符(如将密码显示为“*”或“#”等)。如果将UseSystemPasswordChar属性设置为true,则当输入密码时,在文本框中输入则会显示为“*”。

             ③创建多行文本框

            默认情况下,TextBox控件只允许输入单行数据,如果将其Multiline属性设置为true,则在TextBox控件中即可输入多行数据。

             ④响应文本框的TextChanged事件

            当文本框中的文本发生更改时,将会引发文本框的TextChanged事件。

    1. private void textBox1_TextChanged(object sender, EventArgs e)
    2. {
    3. label1.Text = textBox1.Text;
    4. }

             4、RadioButton控件(单选按钮控件)

            为用户提供有两个或多个互斥选项组成的选项集。当用户选中某单选按钮时,同一组中的其他单选按钮时,同一组中的其他单选按钮不能同时选定。

            单选按钮必须在同一组中才能实现单选效果。

            ①判断单选按钮是否选中

            通过Checked属性可以判断RadioButton控件的默认状态下是否选中的状态,如果属性值为true,则控件被选中;如果属性值为false,则控件选中状态被取消。

             ②响应单选按钮选中状态更改事件

            当RadioButton控件的选中状态发生更改时,会引发控件的CheckedChanged事件

    1. using System;
    2. using System.Windows.Forms;
    3. namespace _20220813_4
    4. {
    5. public partial class Form1 : Form
    6. {
    7. public Form1()
    8. {
    9. InitializeComponent();
    10. }
    11. private void radioButton1_CheckedChanged(object sender, EventArgs e)
    12. {
    13. if (radioButton1.Checked)
    14. {
    15. MessageBox.Show("选择管理员登陆");
    16. }
    17. }
    18. private void radioButton2_CheckedChanged(object sender, EventArgs e)
    19. {
    20. if (radioButton2.Checked)
    21. {
    22. MessageBox.Show("选择普通用户登陆");
    23. }
    24. }
    25. }
    26. }

            5、Checkbox控件(复选框控件)

            用来表示是否选取了某个选项条件,常用于为用户提供是/否真/假选项。

            ①判断复选框是否被选中

            

            通过CheckState属性可以判断复选框是否被选中。CheckState属性的返回值是Checked或Unchecked。返回值为Checked表示控件处在选中的状态。反之为Unchecked表示控件已经取消选中状态。

            备注:CheckBox控件指示某个特定条件是处于打开状态还是处于关闭状态,它常用于为用户提供是/否真/假选项。可以成组使用CheckBox控件以显示多重选项,用户可以 从中选择一项或多项。

            ②响应复选框的选中状态更改事件

            当CheckBox控件的选择状态发生改变时,将会引发控件的CheckStateChanged事件。

    1. using System;
    2. using System.Windows.Forms;
    3. namespace _20220813_5
    4. {
    5. public partial class Form1 : Form
    6. {
    7. public Form1()
    8. {
    9. InitializeComponent();
    10. }
    11. private void button1_Click(object sender, EventArgs e)
    12. {
    13. string str = "选择的选项如下:";
    14. foreach (Control ctrl in this.Controls) //遍历窗体中所有的控件
    15. {
    16. if (ctrl.GetType().Name == "CheckBox") //判断是否为CheckBox
    17. {
    18. CheckBox cBox = (CheckBox)ctrl; //创建CheckBox对象
    19. if (cBox.Checked == true) //判断CheckBox控件是否被选中
    20. {
    21. str += "\n" + cBox.Text; //获取CheckBox控件的文本
    22. }
    23. }
    24. }
    25. MessageBox.Show(str);
    26. }
    27. }
    28. }
  • 相关阅读:
    go slice不同初始化方式性能&数组比较
    机器学习: 初探 定义与应用场景
    基于若依ruoyi-nbcio支持flowable流程增加自定义业务表单(二)
    Flutter循序渐进==>既要又要的异步技术
    中小企业数字化转型的现状分析
    Vue中插槽slot
    Google单元测试框架gtest之官方sample笔记4--事件监控之内存泄漏测试
    案例分享 | 机场急救中心项目中BIM应用
    解释索引是什么以及它们是如何提高查询性能的
    DelayQueue 使用和延时功能源码分析
  • 原文地址:https://blog.csdn.net/qq_45336030/article/details/126323196