簡體   English   中英

如何顯示從comboBox到列表框的項目

[英]How to display an item from comboBox to a list Box

我正在開發一個window form應用程序。 我有一個comboBoxlistBox 在我的comboBox中,我有5個項目,我想將我從comboBox中選擇的相應項目顯示到listBox。

假設我選擇了項目1,它將顯示項目1。如果我選​​擇了項目2,它將顯示項目2,而項目1將消失,反之亦然。 到目前為止,我已經嘗試了這段代碼

listBox1.Items.Add(name)

此ListBox添加語句將新項目添加到listBox,例如item1,item2,item3等,這不是我想要的。

碼。

using System.IO;
using System;

class Program
{
    static void Main()
    {
        Console.WriteLine("Hello, World!");

           private void loadComboBox()
        {
            myConn = new SqlConnection("Server = localhost; Initial Catalog= dbName; Trusted_Connection = True");

            try
            {
                myConn.Open();
                string query = "select * from Application_Detail";

                myCommand = new SqlCommand(query, myConn);

                //myCommand.ExecuteNonQuery();
                //reading the value from the query
                SqlDataReader dr = myCommand.ExecuteReader();
                //Reading all the value one by one
                while (dr.Read())
                {
                    //column is 1 in Application_Detail Data
                    string name = dr.GetString(1);
                    applicationComboBox.Items.Add(name);
                }
                myConn.Close();
            }catch(Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void fill_checkListBox()
        {
            myConn = new SqlConnection("Server = localhost; Initial Catalog= dbName; Trusted_Connection = True");

            try
            {
                myConn.Open();

                int index = applicationComboBox.SelectedIndex + 1;
                string query = " SELECT td.chineseName, ad.applicationId, aud.applicationId, ad.applicationName FROM[AppUser_Detail] as aud LEFT OUTER JOIN[Teacher_Detail] as td ON aud.teacherId = td.teacherId LEFT OUTER JOIN[Application_Detail] as ad ON aud.applicationId = ad.applicationId LEFT OUTER JOIN[Class_Detail] as cd ON aud.classId = cd.classId where aud.applicationId = '" + index + "' AND NOT(td.teacherId IS NULL AND cd.classId IS NULL)";
                myCommand = new SqlCommand(query, myConn);

                SqlDataReader dr = myCommand.ExecuteReader();

                //Reading all the value one by one
                while (dr.Read())
                {
                    //column is 1 in Application_Detail Data



                        //string value = applicationComboBox.GetItemText(applicationComboBox.Items[i]);
                        string name = dr.GetString(0);

TeacherCheckListBox.Items.Clear(); \\更新了此行TeacherCheckListBox.Items.Add(name);

                }
                //teacherCheckListBox.DataSource = dt;
                myConn.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
    }
}

有任何想法嗎?

   public Form1()
        {
            InitializeComponent();
            List<string> items = new List<string>();
            items.Add("sachin");
            items.Add("dravid");
            items.Add("ganguly");
            cmbSample.DataSource = items;
        }

        private void cmbSample_SelectedValueChanged(object sender, EventArgs e)
        {
            lstSample.Items.Clear();
            lstSample.Items.Add(cmbSample.SelectedItem);
            lstSample.SelectedItem = cmbSample.SelectedItem;
        }

您可以使用以下代碼清除列表框並僅插入一項。

private void cmbSample_SelectedValueChanged(object sender, EventArgs e)
{
    lstSample.Items.Clear();
    lstSample.Items.Add(cmbSample.SelectedItem);
    lstSample.SelectedItem = cmbSample.SelectedItem;
}

但是這里lstSample.Items.Clear(); 清除列表框中的所有內容。 而且,如果您不希望這樣做,則可以避開此行,並繼續其余兩行,這將在現有列表框中插入新項並選擇新添加的項。

private void cmbSample_SelectedValueChanged(object sender, EventArgs e)
{
    lstSample.Items.Add(cmbSample.SelectedItem);
    lstSample.SelectedItem = cmbSample.SelectedItem;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM