删除MultiSimple选择列表框中的第一个项目选择(窗体表单应用程序)

时间:2016-01-22 16:04:25

标签: c# listbox selection default

我有一个包含MultiSimple选择模式的列表框。在form_load中,我有获取数据源的代码,然后从该列表中选择我想要的默认项。此列表包含我的数据库中的所有表,我想选择Users表作为默认项。但是,列表中的第一个表始终与Users表一起突出显示。如何避免默认情况下自动选择第一个表?

以下是我填写列表的代码

                var lwDBConn = Properties.Settings.Default.Target_DBConnectionString;                     List<string> tableNames = new List<string>();
                using (SqlConnection conn = new SqlConnection(lwDBConn))
                {
                    conn.Open();
                    DataTable t = conn.GetSchema("Tables");
                    foreach (DataRow row in t.Rows)
                    {
                        tableNames.Add(row[2].ToString());
                    }
                    conn.Close();
                }
                tableNames.Sort();
                lstSQL.DataSource = tableNames;
                lstSQL.SetSelected(lstSQL.Items.IndexOf("Users"), true);

我已阅读其他有关避免自动选择第一项的帖子,但这不符合我的情况。

2 个答案:

答案 0 :(得分:2)

在初始化ListBox DataSource之后,您需要调用listBox.ClearSelected。

答案 1 :(得分:1)

要仅删除第一项的选择,您可以调用lstSQL.SetSelected(0, false);