【问题标题】:Editor not considering MultilineStringEditor as a unique editor编辑器不考虑 MultilineStringEditor 作为一个独特的编辑器
【发布时间】:2026-01-07 01:20:06
【问题描述】:

我有以下属性:

[Editor("System.ComponentModel.Design.MultilineStringEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"), CategoryAttribute("Lua Attributes"), DescriptionAttribute("The function to be run when the enter button is pressed")]
    public string OnEnter {
        get { return onEnterFunc; }
        set { onEnterFunc = value; }
    }

这应该是在我的属性窗口中激活 MultilineStringEditor 作为该属性的主编辑器。不幸的是,OnEnter 的编辑器在加载到属性窗口时只是一个简单的字符串编辑器。如何让 .NET 识别 OnEnter 应该是一个多行编辑的属性?

【问题讨论】:

    标签: c# properties multilinestring


    【解决方案1】:

    不,那绝对是一个多行字符串编辑器。不要忘记单击编辑框上的下拉箭头来调用编辑器。您必须按 Ctrl+Enter 才能关闭窗口。如果您不喜欢它的工作方式,那么您可以通过从 UITypeEditor 类派生来创建自己的。

    【讨论】:

    • 哦,我明白了。我假设这个编辑器就像 StringCollectionEditor,它有一个带有文本框的弹出窗口用作输入。谢谢!