用click事件不就好了,判断选中项

解决方案 »

  1.   

    “但是单击同一个数据第二次时就不行了”,
    当然不行了,因为你并没有改变选择项的索引!
    用MouseClick就可以了:private void listBox1_MouseClick(object sender, MouseEventArgs e)
    {
        int index = listBox1.IndexFromPoint(e.X, e.Y);
        listBox1.SelectedIndex = index;
        if(listBox1.SelectedIndex!=-1)
        {
            MessageBox.Show(listBox1.SelectedItem.ToString());
        }
    }
      

  2.   

            private void listBox3_MouseClick(object sender, MouseEventArgs e)
            {
                MessageBox.Show("单击事件");
            }
    为什么鼠标点击listbox内容的时候或是listbox的空白区域的时候 不触发事件呢????
      

  3.   

    关键是我添加了mouseclick事件后 点击鼠标根本就触发不了这个事件,更别谈 运行里面的代码了!!!为什么?
      

  4.   


    呵呵,光添加这行代码是没有用的,你还要把listBox1的MouseClick事件和这个函数关联起来。
    1)可以手动设置,选中listBox1,属性里选择事件列表,就是一个闪电的图标。然后找到MouseClick,在后面选择listBox1_MouseClick。
    2)还可以用代码设置,this.listBox1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.listBox1_MouseClick);
      

  5.   

    “为什么鼠标点击listbox内容的时候或是listbox的空白区域的时候 不触发事件呢”
    ,难道你不是用得WinForm,这是一个很基本的事件,你另写一个简单程序试试
      

  6.   

    哦,找到原因了。原来是我用的这个别人写的listbox控件click事件没有写,用系统自带的listbox就可以。谢谢楼上的所有人
      

  7.   


    呵呵,光添加这行代码是没有用的,你还要把listBox1的MouseClick事件和这个函数关联起来。
    1)可以手动设置,选中listBox1,属性里选择事件列表,就是一个闪电的图标。然后找到MouseClick,在后面选择listBox1_MouseClick。
    2)还可以用代码设置,this.listBox1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.listBox1_MouseClick);
    太好了,刚好出在这个问题上,感谢楼上的