我很难解决在弧度和角度之间进行转换的问题(TypeConverter)。
在Win Form中,我有一个TextBox,它绑定了一个类'Triangle'的属性AngleX。
我的属性以弧度存储值,但我想以角度格式向用户显示,如果用户在UI中更改它,我需要以弧度形式将其返回给类。
此时我有这段代码:
public RadAngleConverter : TypeConverter
{
public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
{
return destinationType == typeof(Int64);
}
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
{
return Math.PI * (Int64)value / 180.0;
}
public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
{
return sourceType == typeof(Int64);
}
public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
{
return (Int64)value * (180.0 / Math.PI);
}
}
在我的班级'Triangle'中我有这段代码:
public class Triangle()
{
...
[TypeConverter(typeof(RadGrausFormat))]
public double AngleX { get; set; }
...
}
最后在UI中,这段代码:
...
TextBox1.DataBindings.Add("Text",instanceClass,"AngleX",formattingEnable: true)
...
但它没有用!
有人可以帮我这个吗?