防止列表框在一开始就选择项目
本文关键字:选择 项目 一开始 列表 | 更新日期: 2024-11-08 05:23:58
我有一个问题,对我的图形用户界面的运行时产生了非常糟糕的影响。我正在使用以下命令初始化我的 Form1(当 GUI 打开时):
InitializeComponent();
var fill_listboxes = new FillListBoxes(this);
fill_listboxes.fillFromDatabase();
因此,他打开函数,用数据库中的值填充列表框(每列一个列表框)。函数本身以这种方式填充框:
datTable = new DataTable();
sqlCmd = new SqlCommand(@"SELECT DISTINCT [" + form1.getCol1() + "] FROM [" + form1.getTableName() + "]", connection);
sqlDatAdapter = new SqlDataAdapter(sqlCmd.CommandText, connection);
sqlDatAdapter.Fill(datTable);
form1.listbox1.DisplayMember = form1.getCol1();
form1.listbox1.ValueMember = "Column1";
form1.listbox1.DataSource = datTable;
我在此函数之后将列表框选定索引设置为"-1",我试图将其放在最后一行之后和它之前,但每次他到达最后一行并将数据源设置为数据表时,他都会自动跳转到列表框的"selectedIndexChanged"方法并选择它的第一个值。这会导致严重的运行时问题。是否可以阻止他从列表框中选择一个值(或在选择某些内容之前将其设置为 -1)?
listBox1.SelectionMode = SelectionMode.None;
listBox1.DataSource = dataTable;
listBox1.SelectionMode = SelectionMode.One;