【问题标题】:Prevent Listbox selecting item at the very beginning防止列表框在一开始就选择项目
【发布时间】:2015-03-10 12:15:19
【问题描述】:

我有一个问题,它对我的​​图形用户界面的运行时产生了非常糟糕的影响。我正在初始化我的 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)?

【问题讨论】:

    标签: c# winforms listbox runtime


    【解决方案1】:
            listBox1.SelectionMode = SelectionMode.None;
            listBox1.DataSource = dataTable;
            listBox1.SelectionMode = SelectionMode.One;
    

    【讨论】:

    • 太棒了!非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-23
    相关资源
    最近更新 更多