第二个问题:
定义一个枚举型的变量,例如:
public vType VType
{
get{return _vType;}
set{_vType = value;}
} public enum vType
{
None,
OnlyDate,
OnlyNumber,
OnlyDecimal
}
定义一个枚举型的变量,例如:
public vType VType
{
get{return _vType;}
set{_vType = value;}
} public enum vType
{
None,
OnlyDate,
OnlyNumber,
OnlyDecimal
}
2、将这5个值定义为一个枚举,例如:
public enum MyEnum{EnumValue1,EnumValue2,EnumValue3,EnumValue4,EnumValue5}然后这样定义你的控件的属性:
private MyEnum myen;public MyEnum MyProperty{
get{return myen;}
set{myen=value;}
}
问题1:如果采用继承Control并加入Width和Height属性的方式,在设计时不能拖动控件调整大小,而继承WebControl却可以,但是我不想要WebControl中其他属性
除非重写它的输出了(render)
我想要的效果就是设计时控件可以拖动设置大小,属性窗口中不要多余的属性。
public enum _LineNum{1,2,4,5,10,20,25,50,100}
{ [Browsable(false),DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)
new protected Font Font
{
get{return base.Font;}
}}
第二个问题你需要实现一个TypeConverter例如
[TypeConverter(typeof(YPTC))]
pubilc string YourProperty
{
get
{
return _s;
}
set
{
_s=value;
}
}public class YPTC : TypeConverter
{
//这里重写GetStandardValuesSupported返回true
//重写GetStandardValuesExclusive返回false
//重写GetStandardValues返回值的集合.
}
public new Font Font
{
get{return Font;}
}改了一下就可以让属性窗口不显示Font了,但是在代码中还是有该属性,应该怎么办?
从WebControl继承你的控件,然后重写Font属性:
[Browsable(false)]
public override FontInfo Font{
get{return null;}
}Browsable(false)属性可以使Font属性不在属性窗口中显示。