【C#】 WinForm窗体应用程序学习笔记 (三)

WinForm窗体应用程序学习笔记(三)

学习笔记(二)中主要学习了按钮、文本框、文本标签、单选按钮、复选框五个控件,这次的学习笔记主要学习WinForm的一些其他常用控件。

友情链接:


WinForm常用控件

3 . ListBox列表框

ListBox列表框可以罗列一些选项来供用户选择,例如音乐播放器中的歌曲列表。ListBox可以实现这个功能。

ListBox列表框用于显示列表,该列表中的数据是通过程序添加的,用户无法向列表输入数据。在ListBox列表框中,选项列表是通过Items属性表示的,该属性提供了一个Add()方法,用于向ListBox列表框中添加数据。

注意:ListBox列表框的选项可以被同时选中多个。

这次做一个“歌曲列表”,比较简单。首先在之前创建的程序里面添加Form4,然后拖动Label文本标签,ListBox标签到设计界面,如下图所示:

然后更改文本标签内容,如下图所示:

然后进入Form4.cs编写代码:(需要先注册Form4_Load方法)

注册关键语句为:

//为Form4注册Load方法
this.Load += new EventHandler(Form4_Load);

完整代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace first
{
    public partial class Form4 : Form
    {
        public Form4()
        {
            InitializeComponent();
            //为Form4注册Load方法
            this.Load += new EventHandler(Form4_Load);
        }

        private void Form4_Load(object sender,EventArgs e)
        {
            string[] MusicNames = { "Just give me a reason", "画", "Apologize" };
            for(int i = 0; i < MusicNames.Length; i++)
            {
                lbShow.Items.Add(MusicNames[i]);
            }
        }

        private void lbShow_SelectedIndexChanged(object sender, EventArgs e)
        {
            MessageBox.Show("当前播放的音乐是:" + lbShow.SelectedItem.ToString());
        }
    }
}

ps:若新建窗体没有Load方法,双击[设计]页面,即可自动创建Load方法,不用再注册Load(),如下图所示:

成品效果:


4 . ComboBox下拉列表框

与ListBox相比,ComboBox下拉列表也是用来显示列表的,但不同的是,该列表只能选择一个选项。在ComboBox控件中,提供了两个属性,分别是SelectedIndex和Items,其中SelectedIndex属性用于获取或设置指定当前选中项的索引,Items属性用于表示选项列表,该属性中的AddRange()方法用于向ComboBox的项列表添加选项

接下来,模拟一个省市选择的功能,成品效果如下:

新建窗体Form5,然后在Form.cs[设计]页面中,拖拽ComboBox控件,具体步骤如下:

然后修改控件内容,以及对应控件名称(更改两个ComboBox所对应的名称,第一个叫做:cmbProvince、第二个叫做:cmbCity。),接着点击cmbProvince,选中右下角的属性:SelectedIndexChanged双击两下:

紧接着,开始编写代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace first
{
    public partial class Form5 : Form
    {
        public Form5()
        {
            InitializeComponent();
        }

        private void Form5_Load(object sender, EventArgs e)
        {
            //向cmbProvince中添加下拉列表项
            cmbProvince.Items.AddRange(new string[] { "河南省", "河北省" });
            cmbProvince.SelectedIndex = 0;  //索引先设置为0
        }

        private void cmbProvince_SelectedIndexChanged(object sender, EventArgs e)
        {
            //清除下拉列表的选项
            cmbCity.Items.Clear();
            //若索引为0展开河北省下的子结点
            if (cmbProvince.SelectedIndex == 0)
            {
                cmbCity.Tag = 0;
                cmbCity.Items.AddRange(new string[] { "郑州","洛阳","开封","商丘"});
                cmbCity.SelectedIndex = 0;
            }
            if (cmbProvince.SelectedIndex == 1)
            {
                cmbCity.Tag = 0;
                cmbCity.Items.AddRange(new string[] { "石家庄", "邯郸", "唐山" });
                cmbCity.SelectedIndex = 0;
            }
        }
    }
}
发布了177 篇原创文章 · 获赞 282 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/lesileqin/article/details/100554684