Winforms如何在自定义字段上启用多行箭头

时间:2019-02-13 01:58:32

标签: c# winforms

嘿,我想在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();
    }
}

Custom Field Image

Default Text Field Image

1 个答案:

答案 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.DesignSystem.Drawing作为对项目的引用。