【问题标题】:Call TextBox dropdown list on button click单击按钮时调用 TextBox 下拉列表
【发布时间】:2014-07-02 18:29:17
【问题描述】:

大家好,

我有一个TextBoxStringCollection 作为AutoCompleteSource。当用户开始键入时,它会像往常一样按字母等过滤数据。这是我TextBox的图片:

如您所见,其中包含“...”自定义按钮。有什么方法可以使用来自我的StringCollection 内部按钮单击事件的完整数据调用DropDown 列表吗?我真的不知道如何手动调用DropDown list。

【问题讨论】:

  • 是否要通过单击按钮加载组合框?
  • No.. 这是带有下拉列表的文本框,但列表源由用户输入过滤。我想在显示过滤结果的同一下拉列表中单击按钮时显示未过滤的源。所以,我想在文本框下拉列表中显示完整数据而不被过滤。
  • 这是一个内置的下拉列表,在启用自动完成选项时打开还是自定义下拉列表?

标签: c# winforms autocomplete textbox


【解决方案1】:

似乎没有办法访问自动完成框,从你的代码中,看到类似的问题:here

我的建议是将任何列表控件(例如列表框)放在文本框下方,设置它的数据源并将其设置为不可见。按下按钮,显示出来!

【讨论】:

  • 我有很多这样的文本框,隐藏所有的列表框会很麻烦。我想我会以编程方式创建列表框并将其放置在触发事件的按钮的父控件下。
【解决方案2】:
can you write  the  code for unfiltered source inside the button click event?
then get a DataTable and load Filtered source to  it first.
then load the unfiltered source also to the DataTable. 
finally you can bind the DataTable to the DropDownList using  DropDownList1.DataBind(); method. 

【讨论】:

  • 是的,WinForm 有组合框。
  • 是的,但是用我拥有的所有数据填充组合框需要很长时间。过滤的文本框在我的情况下做得更好,但我希望用户可以选择等到按钮单击时填充下拉列表作为他自己的选择,但谢谢:)
猜你喜欢
  • 1970-01-01
  • 2017-08-09
  • 1970-01-01
  • 1970-01-01
  • 2016-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多