防止列表框在最开始选择项目
Prevent Listbox selecting item at the very beginning
我遇到一个问题,它对我的图形用户界面的运行时间有非常糟糕的影响。我正在初始化我的 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;
我在这个函数之后将 Listbox selectedIndex 设置为“-1”,我试图将它放在最后一行之后和之前,但每次他到达最后一行并将数据源设置为data table 他自动跳转到列表框的 "selectedIndexChanged" 方法并选择它的第一个值。这会导致严重的运行时问题。是否可以阻止他从列表框中选择一个值(或在选择某些内容之前将其设置为 -1)?
listBox1.SelectionMode = SelectionMode.None;
listBox1.DataSource = dataTable;
listBox1.SelectionMode = SelectionMode.One;
我遇到一个问题,它对我的图形用户界面的运行时间有非常糟糕的影响。我正在初始化我的 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;
我在这个函数之后将 Listbox selectedIndex 设置为“-1”,我试图将它放在最后一行之后和之前,但每次他到达最后一行并将数据源设置为data table 他自动跳转到列表框的 "selectedIndexChanged" 方法并选择它的第一个值。这会导致严重的运行时问题。是否可以阻止他从列表框中选择一个值(或在选择某些内容之前将其设置为 -1)?
listBox1.SelectionMode = SelectionMode.None;
listBox1.DataSource = dataTable;
listBox1.SelectionMode = SelectionMode.One;