具有 StandardValuesSupported 和自动完成功能的 StringConverter
我想开发一个具有标准值的 StringConverter,将其附加到 PropertyGrid 后将像具有自动完成功能的组合框一样。 下面的示例将为我提供一个组合框,但没有自动完成功能 - 用户必须展开它并手动选择其中一项。 有没有一种方法允许用户键入其中一个选项的开头,以便组合框会自动选择匹配的选项?
public class ConverterSample : System.ComponentModel.StringConverter
{
public override bool GetStandardValuesSupported(ITypeDescriptorContext context)
{
//true means show a combobox
return true;
}
public override bool GetStandardValuesExclusive(ITypeDescriptorContext context)
{
return false;
}
public override TypeConverter.StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
{
return new StandardValuesCollection(new List<string>(){"Stack", "overflow", "rules");
}
GetStandardValues 返回的列表必须是动态的,因此我不能在那里使用任何枚举。 我从上面的例子中获取: http://www.codeproject.com/KB/cpp/ dropdownproperties.aspx
I want to develop a StringConverter with standard values, which after attaching it to a PropertyGrid will act like comboBox with autocompletion. The example below will give me a comboBox, but without the autocompletion - user have to expand it and choose manually one of the items. Is there a way to allow user to type the beginning of one of the options, so the combobox will automatically select the matching one?
public class ConverterSample : System.ComponentModel.StringConverter
{
public override bool GetStandardValuesSupported(ITypeDescriptorContext context)
{
//true means show a combobox
return true;
}
public override bool GetStandardValuesExclusive(ITypeDescriptorContext context)
{
return false;
}
public override TypeConverter.StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
{
return new StandardValuesCollection(new List<string>(){"Stack", "overflow", "rules");
}
List returned by GetStandardValues has to be dynamic, so I can't use any enum there.
I took above example from: http://www.codeproject.com/KB/cpp/dropdownproperties.aspx
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我不是专家,但听起来您需要一个 UITypeEditor。 可以在此处找到示例: http://www.codeproject.com /Messages/1020184/Re-combobox-values.aspx
I'm no expert but it sounds like you need a UITypeEditor. An example can be found here: http://www.codeproject.com/Messages/1020184/Re-combobox-values.aspx