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

Remove 1st item selection in MultiSimple selection listbox (Window Forms Application)

我有一个带有 selectMultiSimple 离子模式的列表框。在 form_load 中,我有获取数据源的代码,然后是 select 我想要从该列表中获取的默认项。此列表包含我数据库中的所有 table,我想将 select 用户 table 作为默认项。但是,列表中的第一个 table 始终与用户 table 一起突出显示。如何避免第一个 table 被默认自动 selected?

下面是我用来填充列表的代码

                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);

我读过其他关于避免第一项被自动 selected 的帖子,但它不适合我的情况。

初始化 ListBox 数据源后,您需要立即调用 listBox.ClearSelected。

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