110,536
社区成员
发帖
与我相关
我的任务
分享
public abstract class MyComboBox : TypeConverter
{
public Hashtable _hash = null;
public MyComboBox()
{
_hash = new Hashtable();
GetConvertHash();
}
public abstract void GetConvertHash();
public override bool GetStandardValuesSupported(ITypeDescriptorContext context)
{
return true;
}
public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
{
string[] ids = new string[_hash.Values.Count];
int i = 0;
foreach (DictionaryEntry myde in _hash)
{
ids[i++] = myde.Key.ToString();
}
return new StandardValuesCollection(ids);
}
public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourcetype)
{
if (sourcetype == typeof(string))
{
return true;
}
return base.CanConvertFrom(context, sourcetype);
}
public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object v)
{
if (v is string)
{
foreach (DictionaryEntry myde in _hash)
{
if (myde.Value.Equals((v.ToString())))
return myde.Key;
}
}
return "";
// return base.ConvertFrom(context, culture, v);
}
public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object v, Type destinationtype)
{
if (destinationtype == typeof(string))
{
foreach (DictionaryEntry myde in _hash)
{
if (myde.Key.Equals(v))
return myde.Value.ToString();
}
return "";
}
return base.ConvertTo(context, culture, v, destinationtype);
}
public override bool GetStandardValuesExclusive(ITypeDescriptorContext context)
{
return false;
}
}
[DefaultValue("FA"), Category("FFF"), Description("属性"), ReadOnlyAttribute(false), TypeConverter(typeof(propertygridcomboboxitem))]
public class propertygridcomboboxitem : Dest.MyAttribControl.MyComboBox
{
public override void GetConvertHash()
{
_hash.Add("0", "炒肝");
_hash.Add("1", "豆汁");
_hash.Add("2", "灌肠");
}
}