如何使用鼠标悬停检测组合框上当前丢弃的值

本文关键字:鼠标 何使用 悬停 检测 组合 | 更新日期: 2023-09-27 18:37:07

在 C#, VS 2010, Forms 中使用组合框。

放下组合框后,使用鼠标滚动选项列表。哪个事件在 MSDN 组合框事件上触发此事件

示例:Combobox上的选项列表是苹果,香蕉,巧克力等,你指向苹果它调用事件,你指向香蕉它调用同一事件,等等。

另外,我如何获得它指向的值?

如果没有可用的活动,我可以通过程序制作一个吗?

谷歌搜索了很长时间,现在似乎找不到我需要的东西。

如何使用鼠标悬停检测组合框上当前丢弃的值

  1. 哪个事件在此触发...如果创建组合框并添加项,则可以设置 SelectedIndexChanged 事件并将其设置为自己的自定义事件处理程序,如下所示:

    comboBox1.Items.Add("Apple");
    comboBox1.Items.Add("Banana");
    comboBox1.Items.Add("chocolate");
    comboBox1.SelectedIndexChanged += ComboBox1OnSelectedIndexChanged;
    
  2. 该方法接收组合框类型的发送方对象,唯一棘手的是签名将其设置为对象。 铸造它允许我们提取价值。

    private void ComboBox1OnSelectedIndexChanged(object sender, EventArgs eventArgs)
    {
        myvalue = ((ComboBox)sender).SelectedValue;
    }
    

似乎你可以从中得到你想要的

重绘所有者绘制的 winform 组合框项目

特别是当

(state & DrawItemState.HotLight)> 0

如果需要更多解释,请告诉我。

编辑--

我的意思是,通过实现 ownerdraw,您可以知道鼠标在哪个项目上。 当鼠标悬停在项目上时,根据链接的文章

(state & DrawItemState.Selected)> 0) ||((state & DrawItemState.HotLight)> 0)

是真的。

因此,在这种情况下,您可以根据需要使用 OP 所需的信息触发事件。