-1

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

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

例如:组合框上的选项列表是苹果、香蕉、巧克力等,你指向苹果它调用事件,你指向香蕉它调用相同事件等。

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

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

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

4

2 回答 2

2
  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;
    }
    
于 2013-10-28T02:59:48.127 回答
0

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

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

特别是当

(状态 & DrawItemState.HotLight) > 0

让我知道是否需要更多解释。

编辑 -

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

((状态 & DrawItemState.Selected) > 0) || ((状态 & DrawItemState.HotLight) > 0)

是真的。

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

于 2013-10-28T02:59:38.090 回答