区分单击显示的项目和单击组合框中下拉列表中的项目

Posted

技术标签:

【中文标题】区分单击显示的项目和单击组合框中下拉列表中的项目【英文标题】:Distinguish between clicking the displayed item and clicking an item in the drop-down list in a ComboBox 【发布时间】:2021-07-14 09:56:32 【问题描述】:

我想知道如何区分单击显示的项目和单击组合框下拉列表中的项目之一。

【问题讨论】:

ComboBox 使用的是什么DropDownStyle @Matthew Watson comboBox1.DropDownStyle = ComboBoxStyle.DropDown; 【参考方案1】:

...区分单击显示的项目和单击下拉列表中的项目之一

我假设您想知道操作员是重新选择最后选择的项目(即显示的项目),还是选择新的项目(在下拉列表中。

您需要一个属性来访问操作员选择的项目:

private MyType SelectedItem => (MyType)this.comboBox1.SelectedValue;

private MyType LastProcessedSelectedItem get; set; = null;

private void OnOperatorSelectedItem(MyType selectedItem)

    if (this.LastProcessedSelectedItem != selectedItem)
    
        this.OperatorSelectedDropDown();
    
    else
    
         this.OperatorSelectedDisplayed();
    
    this.LastProcessedSelectedItem = selectedItem;


private void OnComboBox1_Clicked(object sender, ...)

    MyType selectedItem = this.SelectedItem;
    OnOperatorSelectedItem(selectedItem);

【讨论】:

非常感谢。我假设有一个内置事件来区分这两种选择点击。

以上是关于区分单击显示的项目和单击组合框中下拉列表中的项目的主要内容,如果未能解决你的问题,请参考以下文章

从组合框中选择下一个项目,然后单击 Excel VBA 按钮

ComboBox 下拉列表隐藏

extjs 组合框在单击时显示空白列表

ExtJS组合框无法渲染

ExtJS 组合框不呈现

列表框的示例