[C#]C#中的ComboBox控件

2024-06-10 1308阅读

当使用C#中的ComboBox控件时,你可以通过以下详细方法使用它:

  • 在窗体上放置 ComboBox 控件:

    在 Visual Studio 的窗体设计器中,从工具箱中拖动并放置一个 ComboBox 控件到你的窗体上。

  • 设置 ComboBox 的属性:

    • Items:用于设置或获取 ComboBox 中的选项集合。你可以通过添加项到集合中来动态添加选项。
    • Text:用于设置或获取当前选中项的文本。
    • SelectedIndex:用于设置或获取当前选中项的索引。索引从 0 开始,-1 表示没有选中项。
    • DropDownStyle:用于设置下拉列表的样式。常用的值有:
      • DropDown:显示下拉列表,用户可以从中选择。
      • DropDownList:只显示下拉列表,用户无法手动输入。
  • 处理 ComboBox 的事件:

    • SelectedIndexChanged:当 ComboBox 的选中项发生改变时触发的事件。你可以通过订阅该事件,在选中项改变时执行特定的操作。

    下面是一个示例,演示如何使用 ComboBox 控件:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    using System;

    using System.Windows.Forms;

    namespace ComboBoxExample

    {

        public partial class MainForm : Form

        {

            public MainForm()

            {

                InitializeComponent();

            }

            private void MainForm_Load(object sender, EventArgs e)

            {

                // 初始化 ComboBox 的选项

                comboBox.Items.Add("选项1");

                comboBox.Items.Add("选项2");

                comboBox.Items.Add("选项3");

                // 设置默认选中项

                comboBox.SelectedIndex = 0;

            }

            private void comboBox_SelectedIndexChanged(object sender, EventArgs e)

            {

                // 当选中项发生改变时触发的事件

                string selectedOption = comboBox.SelectedItem.ToString();

                MessageBox.Show("选中的选项是:" + selectedOption);

            }

            private void btnGetSelected_Click(object sender, EventArgs e)

            {

                // 获取当前选中项

                string selectedOption = comboBox.SelectedItem.ToString();

                MessageBox.Show("当前选中的选项是:" + selectedOption);

            }

            private void btnAddOption_Click(object sender, EventArgs e)

            {

                // 添加新选项

                string newOption = textBoxNewOption.Text;

                comboBox.Items.Add(newOption);

                MessageBox.Show("已添加新选项:" + newOption);

            }

        }

    }

    在上述示例中,我们创建了一个名为 “MainForm” 的窗体应用程序,并放置了一个 ComboBox 控件和两个按钮和一个文本框。在窗体的加载事件中,我们初始化了 ComboBox 的选项,并将第一个选项设为默认选中。当选中项发生改变时,会触发 SelectedIndexChanged 事件,弹出选中项的消息框。点击按钮时,可以获取当前选中项的文本,或者添加新的选项到 ComboBox 中。

    附更多实例代码

    1.让用户只能选择项。

    很简单,设置ComboBox的属性DropDownStyle为DropDownList即可。

    [C#]C#中的ComboBox控件

    2.往ComboBox中添加新项。

    1

    2

    3

    4

    5

    6

    7

    private void Form1_Load(object sender, EventArgs e)

           {

               this.cmbTest.Items.Add("A");

               this.cmbTest.Items.Add("B");

               this.cmbTest.Items.Add("C");

               this.cmbTest.Items.Add("D");

           }

    //效果截图如下

    [C#]C#中的ComboBox控件

    3.设置默认选择的项。

    1

    this.cmbTest.SelectedIndex = 3; //选择第四项,注意,编号从0开始

    [C#]C#中的ComboBox控件

    4.获取选择的项的文本。

    1

    MessageBox.Show(this.cmbTest.SelectedItem.ToString());

    [C#]C#中的ComboBox控件

    5.遍历ComboBox控件中每一项的文本:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    //从最后一项开始遍历

    for (int i = this.cmbRoomId.Items.Count - 1; i >= 0;i-- )

    {

        this.cmbRoomId.SelectedIndex=i;//选择第i项

        if (this.cmbRoomId.Text.Trim().Equals("Admin"))//判断项的文本

        {

            break;//找到就停止遍历

        }

    }

    6.数据绑定:

    在SQL2005数据库中,我有两列renterID和renterName

    //截图如下

    [C#]C#中的ComboBox控件

    现在我想让ComboBox控件显示的是renterName,而ComboBox实际的值却是renterID,

    我们如何做呢?

    先看下我们写的SQL语句:select renterId,renterName from Renter

    有了SQL语句,怎么获取数据集DataSet,这个不用我说了吧?

    有了数据集后,我们就可以将其绑定到ComboBox中了。

    代码如下:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    string sql="select renterId,renterName from Renter";

    //SqlHelper.GetConnection()的作用是获取一个数据库连接对象,这是我自己封装的方法,请灵活应变。   

    using (SqlDataAdapter da = new SqlDataAdapter(sql,SqlHelper.GetConnection()))

                   {

                        DataSet ds = new DataSet();

                        da.Fill(ds);//填充数据集,即获取数据集

                        this.cmbRenter.DataSource = ds.Tables[0].DefaultView; //设置ComboBox的数据源

                        this.cmbRenter.DisplayMember = "renterName"; //让ComboBox显示renterName列

                        this.cmbRenter.ValueMember = "renterId";  //让ComboBox实际的值为renterId列

                    }

    数据绑定好后,我们如何获取renterId的值呢?代码如下:

    MessageBox.Show(this.cmbRenter.SelectedValue.ToString()); 

    //效果截图如下:

    [C#]C#中的ComboBox控件

    [C#]C#中的ComboBox控件

    [C#]C#中的ComboBox控件

    希望这篇能帮助你理解和使用 ComboBox 控件的详细方法。

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]