[C#]C#中的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 控件的详细方法。

  • 28
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FL1768317420

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值