C#编程: Windows控件(1)


学习笔记(1):

Windows控件

(1) 控件概述
  1. 在C#中,控件的基类是位于System.Windows.Forms命名空间的Control类
  2. Control类定义了控件类的共同属性,方法和事件,其他控件类都直接或间接地派生自这个Control类
(2) 控件的相关操作
1. 添加控件

<1> 在窗体中绘制控件

在工具箱中单击要添加到窗体中的控件,将鼠标指针放在该窗体中希望控件左上角所在位置,按住鼠标左键不放,然后将鼠标指针拖曳至希望该控件右下角所在的位置,释放鼠标左键,控件即可按指定的位置和大小添加至窗体

<2> 将控件拖曳到窗体中

在工具箱中单击所需控件并将其拖曳到窗体中,控件将会以默认大小添加至窗体指定位置

<3> 以编程方式向窗体中添加控件

通过new关键字实例化要添加控件所在的类,然后将实例化的控件添加到窗体中

举例:通过Button按钮的Click事件添加一个TextBox控件

private void button1_Click(object sender, EventArgs e)
{
    TextBox myText = new TextBox();//实例化TextBox类
    myText.Location = new Point(25, 25);//设置TextBox的位置
    this.Controls.Add(myText);//将控件添加到当前窗体中
}

在这里插入图片描述

2. 删除控件

第一种方法: 在控件上单击鼠标右键,在弹出的快捷菜单中单击“删除”按钮进行删除

第二种方法: 选中控件,按Delete键删除

3. 对齐控件
  1. 在进行对齐前,首先选定主导控件(第一个被选定的控件就是主导控件,其他控件按住Ctrl键进行选定)
  2. 在依次单击菜单栏中的“格式” - > "对齐"选项,然后选择对齐方式
  3. 说明:控件组的最终位置取决于主导控件的位置
Windows控件的使用
第一个:Label控件(标签控件)

公共控件

主要用于显示用户不能编辑的文本,标识窗体上的对象(如给文本框,列表框添加描述信息等)

1. 设置标签文本

<1> 直接在Label控件的属性面板中设置Text属性

<2> 通过编写代码来设置Text属性

label1.Text = "用户名:";  //设置Label标签中的Text属性

2. 显示/隐藏控件

<1> 通过设置Visible属性来显示/隐藏Label控件

<2> 如果Visible属性的值为true,则显示控件

<3> 如果Visible属性的值为false,则隐藏控件

label1.Visible = true; //设置Label控件的Visible属性
第二个:Button控件(按钮控件)

公共控件

​ <1> 允许用户通过单击来执行相关操作,可以显示文本,也可以显示图像

​ <2> Button控件最常用的属性和事件是Text属性和Click事件,Text属性用来设置Button控件所要显示的文本,Click事件用来指定单击Button控件时执行的操作

示例:制作登录按钮和退出按钮

创建一个Windows窗体应用程序,在默认窗体中添加Label控件,分别设置它们的Text属性为“用户名:”和“密码:”;添加两个Button控件,分别设置它们的Text属性为“登录”和"退出",然后触发它们的Click事件,以执行相应的操作

private void button1_Click(object sender, EventArgs e)
{
    MessageBox.Show("登录成功");
}

private void button2_Click(object sender, EventArgs e)
{
    Application.Exit();
}

在这里插入图片描述

第三个:TextBox控件

公共控件

1. 创建只读文本框

通过设置TextBox控件的ReadOnly属性,可以设置文本框是否为只读。

如果ReadOnly属性为true,那么不能编辑文本框,而只能通过文本框显示数据

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

在这里插入图片描述
2. 创建密码文本框

<1>通过设置TextBox控件的PasswordChar属性可以将文本框设置为密码文本框,通过设置PasswordChar属性可以实现再输入密码时,文本框中显示指定的字符,如”*”或“#”等

在这里插入图片描述

<2> 通过设置TextBox的UserSystemPasswordChar属性可以将文本框设置为密码文本框,如果属性值为true,则在输入密码时,将以“*”显示

在这里插入图片描述
修改示例:制作登录窗体

在窗体中添加两个TextBox控件,分别用来输入用户名和密码。将第二个TextBox控件的Password控件的属性设置为*,以使密码文本框显示的字符为*

private void Form1_Load(object sender, EventArgs e) //窗体的加载事件
{
    textBox2.PasswordChar = '*';    //设置文本框的Password属性为字符*
}

3. 创建多行文本框

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

4. 响应文本框的TextChanged事件

当文本框中的文本发生改变时,将会触发文本框的TextChanged事件

举例:文本框中的内容改变时,Label控件中显示更改后的文本

请添加图片描述请添加图片描述
请添加图片描述

第四个:RadioButton控件 (单选按钮控件)

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

单选框必须在同一组中才能实现单选效果

1. 判断单选按钮是否被选中

Checked属性用于判断RadioButton控件的选中状态。如果Checked属性的属性值为true,则RadioButton控件被选中;如果属性值为false,则RadioButton控件选中状态被取消。

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

当RadioButton控件的选中状态发生改变时,会触发该控件的CheckChanged事件。

修改示例:登录时选择用户角色

在窗体中添加两个RadioButton控件,将它们的Text属性分别设置为“管理员”和“普通用户”,用来选择管理员登录还是普通用户登录。然后分别触发这两个RadioButton控件的CheckedChange事件,在CheckedChanged事件中,通过查看其Checked属性的属性值进而确定RadioButton控件是否被选中。

private void radioButton1_CheckedChanged(object sender, EventArgs e)
{
    if(radioButton1.Checked)
    {
        MessageBox.Show("你选择的是管理员登录");
    }
}

private void radioButton2_CheckedChanged(object sender, EventArgs e)
{
    if(radioButton2.Checked)
    {
        MessageBox.Show("你选择的是普通用户登录");
    }
}

在这里插入图片描述

第五个:CheckBox控件(复选框控件)

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

1. 判断复选框是否被选中

CheckState属性可用于判断复选框是否被选中。CheckState属性的返回值是Checked,则表示控件处于选中状态;返回值是Unchecked表示控件已经取消选中状态。

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

当CheckBox控件的选中状态发生改变时,会触发该控件的CheckStateChanged事件

示例:设置并显示用户权限

创建一个Windows窗体应用程序,通过复选框的选中状态设置用户的操作权限,在默认窗台中添加5个CheckBox控件将其Text属性分别设置为“基本信息管理”,“销售管理“,"系统管理”,“进货管理”,“库存管理”,它们主要用来表示要设置的权限:添加一个Button控件,用来显示选择的权限。

private void button1_Click(object sender, EventArgs e)
{
    string strPop = "你的选择的权限如下:";
    foreach(Control ctrl  in this.Controls)
    {
        if(ctrl.GetType().Name  == "CheckBox")
        {
            CheckBox cBox = (CheckBox)ctrl;
            if(cBox.Checked == true)
            {
                strPop += "\n" + cBox.Text; 
            }
        }  
    }
    MessageBox.Show(strPop);
}

在这里插入图片描述

第六个:RichTextBox控件(有格式文本框控件)

公共控件

主要用于显示,输入和操作带有格式的文本。例如,RichTextBox控件可以实现显示字体,颜色,链接,从文件加载文本及嵌入的图像,撤销和重复编辑操作及查找指定的字符等功能

1. 在RichTextBox控件中显示滚动条

通过设置RichTextBox控件的Multiline属性,可以设置在控件中是否显示滚动条。将Multiline属性设置为true,则显示滚动条;否则,不显示滚动条。

在默认情况下,Multiline属性被设置为true。

滚动条分为水平滚动条和垂直滚动条两种。通过ScrollBars属性可以设置滚动条的显示状态。

属性值 说明
Both 只有当文本超过控件的宽度或长度时,才显示水平滚动条或垂直滚动条,或两个滚动条都显示
None 不显示任何类型的滚动条
Horizontal 只有当文本超过控件的宽度(必须将WordWrap属性设置为false才会出现这种情况)时,才显示水平滚动条
Vertical 只有当文本超过控件的高度时,才显示垂直滚动条
ForcedHorizontal 当WordWrap属性被设置为false时,显示水平滚动条。在文本未超过控件的宽度时,该滚动条显示为浅灰色。
ForcedVertical 始终显示垂直滚动条,在文本未超过控件的长度时,该滚动条显示为浅灰色
ForedBoth 始终显示滚动条。当WordWrap属性被设置为false时,显示水平滚动条。在文本未超过控件的宽度或高度时,两个滚动条均显示为灰色

举例:实现RichTextBox控件只显示垂直滚动条,首先需要将Multiline属性设置为true,然后将ScrollBars属性设置为Vertical

//将Multiline属性设置为true,实现多行显示
richTextBox1.Multiline = true;
//设置ScrollBars属性实现只显示垂直文本框
richTextBox1.BoxBars = RichTextBoxScrollBars.Vertical;

在这里插入图片描述

2. 在RichTextBox控件中设置字体属性

<1> SelectionFont属性用来设置字体系列,大小和字样

<2> SelectionColor属性用来设置字体的颜色

//设置SelectionFont属性实现控件中的字体为楷体,字体大小为12,字样是粗体
richTextBox1.SelectionFont = new Font("楷体",12,FontStyle.Bold);
//设置SelectionColor属性实现控件中的文本颜色为红色
richTextBox1.SelectionColor = System.Drawing.Color.Red;

3.将 RichTextBox控件显示为超链接样式

利用RichTextBox控件能够以彩色或下划线形式对Web链接进行显示,通过编写代码,在单击链接时打开浏览器窗口,显示链接文本指示的网站。

设计思路为:

<1> 首先,通过Text属性设置控件中含有超链接的文本

<2> 然后,在控件的LinkClicked事件中编写事件处理程序,将所需要的文本发送到浏览器

private void Form1_Load(object sender, EventArgs e)
{
    richTextBox1.Text = "欢迎前往王者荣耀:https://pvp.qq.com/";
}

private void richTextBox1_LinkClicked(object sender, LinkClickedEventArgs e)
{
    System.Diagnostics.Process.Start(e.LinkText);
}

在这里插入图片描述

4. 在RichTextBox控件中设置段落样式

RichTextBox控件具有多个用于设置所显示文本的格式的选项。

比如:

<1> 可以通过设置SelectionBullet属性将选定的段落设置为项目符号列表的格式

<2> 可以使用SelectionIndent属性和SelectionHangingIndent属性设置段落相对于控件的左右边缘的缩进位置。

举例:将RichTextBox控件的SelectionBullet属性设置为true,使控件中的内容以项目符号列表的格式排列

richTextBox1.SelectionBullet = true;

运行上述代码,向RichTextBox控件中输入数据:

在这里插入图片描述

第七个:ComboBox控件(下拉组合框控件)

公共控件

1. 创建只可以选择的下拉组合框

通过设置ComboBox控件的DropDownStyle属性,可以将控件设置成只可以选择的下拉组合框。

属性值 说明
Simple 使得ComboBox控件的列表部分总是可见的
DropDown DropDownStyle属性的默认值,使得用户可以编辑ComboBox控件的文本框部分,只有单击右侧箭头才能显示列表部分
DropDownList 用户不能编辑ComboBox控件的文本框部分,呈现下拉列表框的样式

将ComboBox控件的DropDownStyle属性设置为DropDownList,该控件就是只可以选择的下拉列表框,其文本框的内容无法进行编辑

2. 响应下拉组合框的选项值更改事件

当下拉列表的选择项发生改变时会触发控件的SelectedValueChanged事件

示例:使用ComboBox控件选择职位

创建一个Windows窗体应用程序,在默认窗体中添加一个ComboBox控件和一个Label控件,其中,ComboBox控件用来显示并选择职位,Label控件用来显示选择的职位:

private void Form1_Load(object sender, EventArgs e)
{
    //设置comboBox1的下拉框样样式
    comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
    //定于只为数组
    string[] str = new string[] { "总经理", "副总经理", "人事部经理", "财务部经理", "部门经理", "普通员工" };
    comboBox1.DataSource = str; //指定comboBox1的数据源
    comboBox1.SelectedIndex = 0;//指定默认选择第一项
}

private void label1_Click(object sender, EventArgs e)
{
    //获取comboBox1中的选中项
    label1.Text = "你选择的职位是:" + comboBox1.SelectedItem;
}

在这里插入图片描述

第八个:ListBox控件(列表控件)

主要用于显示一个列表,用户可以从ListBox控件中选择一项或多项,如果选项总数超出可以显示的项数,则控件会自动添加滚动条

1. 在ListBox控件中添加项和移除项

通过使用ListBox控件的Items属性的Add方法,可以向ListBox控件中添加项目。

通过使用ListBox控件的Items属性的Remove方法,可以将ListBox控件中的项目移除

举例:通过使用ListBox控件的Items属性的Add()方法和Remove()方法,实现向控件中添加项和移除项

listBox1.Items.Add("王者荣耀");
listBox1.Items.Add("魔兽世界");
listBox1.Items.Add("英雄联盟");
listBox1.Items.Add("穿越火线");
listBox1.Items.Remove("穿越火线");

在这里插入图片描述

2. 创建总显示滚动条的列表控件

<1> 通过设置ListBox控件的HorizontalScrollbar属性和ScrollAlwaysVisible属性可以使列表框总显示滚动条。

<2> 如果HorizontalScrollbar属性设置为true,则显示水平滚动条

<3> 如果ScrollAlwaysVisible属性值为true,则显示垂直滚动条

//将HorizontalScrollbar属性设置为true,使其能显示水平方向上的滚动条
listBox1.HorizontalScrollbar = true;
//将ScrollAlwaysVisible属性设置为true,使其能显示垂直方向的滚动条
listBox1.ScrollAlwaysVisible = true;

在这里插入图片描述

第九个:GroupBox控件(分组框控件)

<1> 主要用于为其他控件提供分组,并且具有按照控件的分组来细分窗体的功能。

<2> GroupBox控件在所包含的控件集周围总是显示边框,而且可以显示标题,但是没于滚动条

<3> GroupBox控件最常用的属性是Text属性,该属性用来设置分组框的标题

groupBox1.Text = "王者系统登录"; //设置groupBox1软件的标题

在这里插入图片描述

©️2020 CSDN 皮肤主题: 创作都市 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值