📌  相关文章
📜  如何在C#中的ComboBox中设置下拉列表的样式?

📅  最后修改于: 2021-05-29 19:38:07             🧑  作者: Mango

在Windows窗体中,ComboBox在单个控件中提供了两种不同的功能,这意味着ComboBox既可以用作TextBox也可以用作ListBox。在ComboBox中,一次仅显示一个项目,其余项目显示在下拉菜单中。您可以使用DropDownStyle属性在ComboBox中设置下拉列表的样式。此属性的值由ComboBoxStyle枚举提供,值是:

  • 简单:采用这种样式,列表可见,文本可以编辑。
  • DropDown:在这种样式中,当您单击下拉箭头时,该列表可见,并且该列表是可编辑的。
  • DropDownList:在这种样式中,单击下拉箭头时该列表可见,并且该列表不可编辑。

此属性的默认值为DropDown。您可以使用两种不同的方法来设置此属性:

1.设计时:使用以下步骤设置ComboBox控件的DropDownStyle属性是最简单的方法:

  • 第1步:创建一个Windows窗体,如下图所示:
    Visual Studio->文件->新建->项目-> WindowsFormApp
  • 步骤2:从工具箱中拖动ComboBox控件,并将其放在Windows窗体上。您可以根据需要将ComboBox控件放置在Windows窗体上的任何位置。
  • 步骤3:拖放后,您将转到ComboBox控件的属性来设置ComboBox的DropDownStyle属性。

    输出:

2.运行时:比上述方法有些棘手。在这种方法中,您可以借助给定的语法以编程方式在ComboBox中设置下拉列表的样式:

public System.Windows.Forms.ComboBoxStyle DropDownStyle { get; set; }

在这里,样式值由ComboBoxStyle提供。如果分配给此属性的值不属于ComboBoxStyle,它将抛出InvalidEnumArgumentException。以下步骤用于设置ComboBox元素的DropDownStyle属性:

  • 步骤1:使用ComboBox类提供的ComboBox()构造函数创建一个组合框。
    // Creating ComboBox using ComboBox class
    ComboBox mybox = new ComboBox();
    
  • 步骤2:创建ComboBox之后,设置ComboBox类提供的ComboBox的DropDownStyle属性。
    // Set DropDownStyle property of the combobox
     mybox.DropDownStyle = ComboBoxStyle.DropDown;
    
  • 步骤3:最后使用Add()方法将此组合框控件添加到窗体中。
    // Add this ComboBox to form
    this.Controls.Add(mybox);
    

    例子:

    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 WindowsFormsApp14 {
      
    public partial class Form1 : Form {
      
        public Form1()
        {
            InitializeComponent();
        }
      
        private void Form1_Load(object sender, EventArgs e)
        {
            // Creating and setting the properties of label
            Label l = new Label();
            l.Location = new Point(222, 80);
            l.Size = new Size(99, 18);
            l.Text = "Select Id";
      
            // Adding this label to the form
            this.Controls.Add(l);
      
            // Creating and setting the properties of comboBox
            ComboBox mybox = new ComboBox();
            mybox.Location = new Point(327, 77);
            mybox.Size = new Size(216, 26);
            mybox.MaxLength = 3;
            mybox.DropDownStyle = ComboBoxStyle.DropDown;
            mybox.Items.Add(240);
            mybox.Items.Add(241);
            mybox.Items.Add(242);
            mybox.Items.Add(243);
            mybox.Items.Add(244);
      
            // Adding this ComboBox to the form
            this.Controls.Add(mybox);
        }
    }
    }
    

    输出: