我遇到的问题对我的图形用户界面的运行时有很大影响。我正在初始化我的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”,我试图将它放在最后一行之后,就在它之前,但每次到达最后一行并将数据源设置为数据表他会自动跳转到列表框的“selectedIndexChanged”方法并选择它的第一个值。这会导致运行时出现问题。是否可以阻止他从列表框中选择一个值(或在选择内容之前将其设置为-1)?
答案 0 :(得分:1)
listBox1.SelectionMode = SelectionMode.None;
listBox1.DataSource = dataTable;
listBox1.SelectionMode = SelectionMode.One;