列表框

Listbox 是一个可以包含对象集合的控件。Listbox 类似于 Combobox 但是在 Combobox; 只有选定的项目对用户可见。在 Listbox; 用户可以看到所有项目。

如何将项目添加到 ListBox?

private void Form3_Load(object sender, EventArgs e)
        {
            string test = "Trial";
            string test2 = "45";
            int numberTest = 43;
            decimal decimalTest = 130;
            
            listBox1.Items.Add(test);
            listBox1.Items.Add(test2);
            listBox1.Items.Add(numberTest);
            listBox1.Items.Add(decimalTest);
        }

输出 ;

StackOverflow 文档

或者 datasources 可以给,

private void Form3_Load(object sender, EventArgs e)
        {
            List<string> TestList = new List<string> { "test1", "test2", "test3", "44", "55" };
            listBox1.DataSource = TestList;
        }

输出;

StackOverflow 文档

private void Form3_Load(object sender, EventArgs e)
        {
            SqlConnection Connection = new SqlConnection("Server=serverName;Database=db;Trusted_Connection=True;"); //Connetion to MS-SQL(RDBMS)
            Connection.Open(); //Connection open
            SqlDataAdapter Adapter = new SqlDataAdapter("Select * From TestTable", Connection); // Get all records from TestTable.
            DataTable DT = new DataTable();
            Adapter.Fill(DT); // Fill records to DataTable.
            listBox1.DataSource = DT; // DataTable is the datasource.
            listBox1.ValueMember = "TestID"; 
            listBox1.DisplayMember= "TestName";
        }

合适的输出 ;

StackOverflow 文档

将外部 sql 数据源提供给列表框需要,ValueMemberDisplayMember

如果**不是,**它会是这样的,

StackOverflow 文档

有用的事件;

SelectedIndex_Changed;

定义列表以提供数据源

private void Form3_Load(object sender, EventArgs e)
        {
            List<string> DataList = new List<string> {"test1" , "test2" , "test3" , "44" , "45" };
            listBox1.DataSource = TestList;
        }

在表单的设计中选择 Listbox 并按 F4 或在右侧单击 lightining 图标。

StackOverflow 文档

Visual Studio 将生成 listBox1_SelectedIndexChanged 到代码隐藏。

 private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            int Index = listBox1.SelectedIndex;
            label1.Text = Index.ToString();
        }

SelectedIndex_Changed 的结果; (底部的标签将显示每个所选项目的索引)

http://i.stack.imgur.com/PmRzA.gif

SelectedValue_Changed; (数据源与顶部相同,你可以像 SelectedIndex_Changed 一样生成此事件)

private void listBox1_SelectedValueChanged(object sender, EventArgs e)
        {
            label1.Text = listBox1.SelectedValue.ToString();
        }

输出 ;

http://i.stack.imgur.com/zALoY.gif