【问题标题】:AutoComplete for property grid field属性网格字段的自动完成
【发布时间】:2010-12-14 16:35:41
【问题描述】:

我有一个类,我将其设置为属性网格的源对象。这些值来自一个值列表:

class Person
{
    ...

    [TypeConverter(NationalityStringConverter)]
    public string Nationality
    ...

class NationalityStringConverter: StringConverter
{
    public override bool GetStandardValuesSupported(ITypeDescriptorContext context)
    {
        return true;
    }

    public override bool GetStandardValuesExclusive(ITypeDescriptorContext context)
    {
        return true;
    }

    public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
    {
        // return my value collection

现在我的问题。可以将此列表作为建议列表。以同样的方式,您可以将其设置为 ComboBox,例如:

comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems;

谢谢 4 个答案

【问题讨论】:

    标签: .net combobox autocomplete propertygrid typeconverter


    【解决方案1】:

    只需尝试访问由属性网格添加的 Combobox 项。 我不知道这是否可行,但值得一试;)

    【讨论】:

      【解决方案2】:

      如果您创建自定义 UITypeEditor,您应该能够覆盖该行为并创建您自己的列表框,您可以在使用 IWindowsFormsEditorService.DropDownControl 调用 EditValue 时显示该列表框。这可能使您可以访问所需的控件。

      PropertyGrid 也有一个 ControlAdded 事件,您可以使用它来访问它为编辑而创建的列表框。

      我自己目前正在与 PropertyGrid 搏斗,所以我不确定这些选项是否能满足您的需求,但它可能会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-07-09
        • 1970-01-01
        • 2021-06-09
        • 1970-01-01
        • 2014-01-15
        • 1970-01-01
        • 2014-03-04
        • 2013-01-08
        相关资源
        最近更新 更多