我有一个包含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);
我已阅读其他有关避免自动选择第一项的帖子,但这不符合我的情况。
答案 0 :(得分:2)
在初始化ListBox DataSource之后,您需要调用listBox.ClearSelected。
答案 1 :(得分:1)
要仅删除第一项的选择,您可以调用lstSQL.SetSelected(0, false);