gpt4 book ai didi

c# - 在 propertygrid 中将属性更改为组合框

转载 作者:行者123 更新时间:2023-11-30 17:38:45 24 4
gpt4 key购买 nike

我从 Internet 源获得这段代码,我认为这段代码可能适用于将 PropertyGrid 中的属性从文本框更改为组合框,但在我运行它之后,它仍然是一个文本框。谁能帮忙解决这个问题?

 public class Testing
{

private String _formatString;
[Category("Display")]
[DisplayName("Format String")]
[Description("Format string governing display of data values.")]
[DefaultValue("")]
[TypeConverter(typeof(FormatStringConverter))]
public String FormatString { get; set; }

public class FormatStringConverter : StringConverter
{
List<String> list = new List<String>();

public override bool GetStandardValuesSupported(ITypeDescriptorContext context) { return true; } // true means show combobox
public override bool GetStandardValuesExclusive(ITypeDescriptorContext context) { return true; } // true list to list, false will show the list, but allow free=form.
public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
{

list.Add("Curren");
list.Add("Currency");
list.Add("Scientific Notation");
list.Add("General Number");
list.Add("Number");
list.Add("Percent");
list.Add("Time");
list.Add("Date");



return new StandardValuesCollection(list);
}
}
}

最佳答案

如果我们需要显示从 TextBox 到 ComboBox 的属性值,我们想为特定的属性类型编写自定义编辑器。请找到以下代码片段以在 ComboBox 中显示属性值(字符串数组类型)

     public class ComboBoxEditor : ITypeEditor
{
public void Attach(PropertyViewItem property, PropertyItem info)
{

}

ComboBoxAdv cmb;
public object Create(PropertyInfo propertyInfo)
{
cmb = new ComboBoxAdv();
cmb.Items.Add("Curren");
cmb.Items.Add("Currency");
cmb.Items.Add("Scientific Notation");
cmb.Items.Add("General Number");
cmb.Items.Add("Number");
cmb.Items.Add("Percent");
cmb.Items.Add("Time");
cmb.Items.Add("Date");
return cmb;
}

public void Detach(PropertyViewItem property)
{
throw new NotImplementedException();
}

}

CustomEditor ComboBoxEditor = new CustomEditor() { HasPropertyType = true, PropertyType = typeof(string[]) };
ComboBoxEditor.Editor = new ComboBoxPropertyGridSample.ComboBoxEditor();

我还附上了这个简单的示例

http://www.syncfusion.com/downloads/support/directtrac/general/ze/ComboBoxPropertyGridSample1192877556

关于c# - 在 propertygrid 中将属性更改为组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36347375/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com