2016-01-22 149 views
0

我有一个选择模式为MultiSimple的列表框。在form_load中,我有代码来获取数据源,然后从该列表中选择我想要的默认项目。此列表包含我的数据库中的所有表格,我想选择Users表格作为默认项目。但是,列表中的第一个表总是与Users表一起高亮显示。我如何避免第一个表被自动选为默认?删除MultiSimple选择列表框中的第一个项目选择(窗体窗体应用程序)

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

   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

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

+0

谢谢。这很好。 – KD2015

1

要删除选择只有第一个项目,您可以拨打lstSQL.SetSelected(0, false);

+0

这也适用,但对于我的情况,ClearSelection是更好的选择,以防出于任何原因自动选择其他项目,并且我没有看到它。 – KD2015