Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在列表框中选择项目时禁用按钮_C#_Asp.net - Fatal编程技术网

C# 在列表框中选择项目时禁用按钮

C# 在列表框中选择项目时禁用按钮,c#,asp.net,C#,Asp.net,选择列表框中的第一项时,应禁用“我的向上”按钮。同样,在选择listbox中的Lastitem时,应禁用向下按钮。我可以通过使用所选索引找到所选项目 if (lstview.SelectedIndex >= 0) { var selectedItems = lstview.SelectedItems; foreach (ClassName selectedItem in selectedItems) { lstview.Items.R

选择列表框中的第一项时,应禁用“我的向上”按钮。同样,在选择listbox中的Lastitem时,应禁用向下按钮。我可以通过使用所选索引找到所选项目

if (lstview.SelectedIndex >= 0)
  {
     var selectedItems = lstview.SelectedItems;
     foreach (ClassName selectedItem in selectedItems)
       {
         lstview.Items.Remove(selectedItem);
         break;
       }            
   }

但是如何基于选择列表框中的第一项或最后一项禁用向上和向下按钮

将所选索引与0以及列表中的项目数进行比较,并基于所选索引设置按钮的启用属性

private void lstView_SelectedIndexChanged(object sender, System.EventArgs e)
{
    upButton.Enabled = lstView.SelectedIndex > 0;
    downButton.Enabled = lstView.SelectedIndex < lstView.Items.Count - 1;
}
private void lstView\u SelectedIndexChanged(对象发送方,System.EventArgs e)
{
upButton.Enabled=lstView.SelectedIndex>0;
downButton.Enabled=lstView.SelectedIndex
我的意思是,如果我单击第一项或最后一项,则btn.delete=true应该发生。如何实现它?只需创建一个通用函数并从您的事件调用该函数-请参阅我在beaners answer中的评论。如果我单击一个事件,我可以实现这一点。但是如何在单击列表中的第一项时实现它呢box@user982129您的请求很简单,将代码放在通用函数中,然后从代码或按钮事件调用它。不要让代码出现在事件中,只需调用事件中的函数
btn_Click(sender s,event e){myFunc();}void myFunc(){//do code}
好的,你能告诉我何时调用这个btn_Click(sender s,event e)。对于我来说,如果在列表框中选择一个项目时调用它,应该没问题。但是如何在选择一个item@user982129-列表中有一个SelectedIndexChanged事件,只要当前选定的项目发生更改,就会触发该事件,因此,如果单击列表中的第一个项目,而之前未选择第一个项目,则会触发该事件。在此事件中添加代码以启用/禁用按钮将实现所需的功能。