【问题标题】:Selected index changed fail into ListBox选定的索引更改失败为 ListBox
【发布时间】:2018-07-13 18:31:22
【问题描述】:

我创建了一个这样的窗体

正如您在选定的更改事件中看到的那样,我禁用按钮移动到,它工作正常,当我尝试时问题开始 将一个项目返回到主列表,当我选择第一个列表的项目时,移动到按钮保持禁用而不是再次启用它。有人知道 那里发生了什么?

事件:

   private void lstTechUnnotified_SelectedIndexChanged(object sender, EventArgs e)
        {
            btnReturnTo.Enabled = false;
            btnMoveTo.Enabled = true;
        }

        private void lstTechToNotified_SelectedIndexChanged(object sender, EventArgs e)
        {
            btnReturnTo.Enabled = true;
            btnMoveTo.Enabled = false;
        }

【问题讨论】:

    标签: c# winforms listbox


    【解决方案1】:

    您需要确保确实有一个项目被选中,因为即使没有选择项目,ListBox.SelectedIndexChanged 事件也会被触发 - 使新的 SelectedIndex 等于 -1。另外,根据您的要求,我希望您希望在lstTechUnnotified 中有选定项目时启用btnMoveTo,否则,禁用它-btnReturnTolstTechToNotified 也是如此;如果是这样,那么简单的方法是:

        private void lstTechUnnotified_SelectedIndexChanged(object sender, EventArgs e)
        {
            btnMoveTo.Enabled = (lstTechUnnotified.SelectedIndex > -1);
        }
    
        private void lstTechToNotified_SelectedIndexChanged(object sender, EventArgs e)
        {
            btnReturnTo.Enabled = (lstTechToNotified.SelectedIndex > -1);
        }
    

    虽然我不确定你的按钮名称..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多