防止列表框在最开始选择项目

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;