嘿,我想在Winform Designer的“自定义”字段中获取MultiLine字符串。默认文本字符串可以输入mutiline文本。但自定义字段不能。
因此,我尝试定义相同的类别,DispId和可本地化。但它仍然无法输入多行文字。这是我的“自定义”字段定义代码。
private string _trueText;
[Description("ControlTextDescr"), Category("Appearance")]
public string TrueText
{
get { return _trueText; }
set
{
_trueText = value;
if (_checked) txt_Shown.Text = _trueText;
CheckAutoResize();
}
}
private string _falseText;
[Description("ControlTextDescr"), Category("Appearance")]
[Localizable(true)]
[Bindable(true)]
[DispId(-517)]
public string FalseText
{
get { return _falseText; }
set
{
_falseText = value.Replace("\\n",Environment.NewLine);
if (!_checked) txt_Shown.Text = _falseText;
CheckAutoResize();
}
}
答案 0 :(得分:0)
您可以使用System.ComponentModel.EditorAttribute
属性来实现此行为:
using System.ComponentModel;
using System.ComponentModel.Design;
[EditorAttribute(typeof(MultilineStringEditor), typeof(System.Drawing.Design.UITypeEditor))]
public string FalseText
{
...
}
[EditorAttribute(typeof(MultilineStringEditor), typeof(System.Drawing.Design.UITypeEditor))]
public string TrueText
{
...
}
请确保添加System.Design
和System.Drawing
作为对项目的引用。