【问题标题】:Remove 1st item selection in MultiSimple selection listbox (Window Forms Application)删除 MultiSimple 选择列表框中的第一个项目选择(窗口窗体应用程序)
【发布时间】:2016-01-23 01:13:09
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: c# listbox selection default


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 这也有效,但对于我的情况,ClearSelection 是更好的选择,以防万一出于任何原因自动选择了其他项目而我没有看到它。
      猜你喜欢
      • 1970-01-01
      • 2021-11-23
      • 1970-01-01
      • 1970-01-01
      • 2020-04-27
      • 2013-01-22
      • 1970-01-01
      • 2012-03-21
      • 2019-01-31
      相关资源
      最近更新 更多