这篇文章主要给大家介绍了关于C#中ComboBox控件详细使用的相关资料,ComboBox控件是一个很容易使用出错的控件,在此将常用的操作写下来,以备后用,需要的朋友可以参考下

当使用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即可。

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");

       }

//效果截图如下

3.设置默认选择的项。

1

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

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

1

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

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

//截图如下

现在我想让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()); 

//效果截图如下:

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

总结

到此这篇关于C#中的ComboBox控件详细使用的文章就介绍到这了,更多相关C#中ComboBox控件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐