PropertyGrid 中的多行字符串
PropertyGrid
中是否有用于多行字符串的内置编辑器。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
PropertyGrid
中是否有用于多行字符串的内置编辑器。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
我发现 System.Design.dll 有 System.ComponentModel.Design.MultilineStringEditor ,可以按如下方式使用:
I found that
System.Design.dll
hasSystem.ComponentModel.Design.MultilineStringEditor
which can be used as follows:不,您需要创建所谓的模态 UI 类型编辑器。 您需要创建一个继承自 UITypeEditor 的类。 这基本上是当您单击正在编辑的属性右侧的省略号按钮时显示的表单。
我发现的唯一缺点是我需要用特定的属性来装饰特定的字符串属性。 我已经有一段时间没有这样做了。 我从 Chris Sells 的一本名为“C# 中的 Windows 窗体编程”的书中获得了此信息
有一个名为 Smart PropertyGrid.NET,作者:VisualHint。
No, you will need to create what's called a modal UI type editor. You'll need to create a class that inherits from UITypeEditor. This is basically a form that gets shown when you click on the ellipsis button on the right side of the property you are editing.
The only drawback I found, was that I needed to decorate the specific string property with a specific attribute. It's been a while since I had to do that. I got this information from a book by Chris Sells called "Windows Forms Programming in C#"
There's a commercial propertygrid called Smart PropertyGrid.NET by VisualHint.
我们需要编写自定义编辑器以获得属性网格中的多行支持。
这是从 UITypeEditor
编写自定义属性网格并将此编辑器属性应用于属性
在主窗体中分配此对象
We need to write our custom editor to get the multiline support in property grid.
Here is the customer text editor class implemented from UITypeEditor
Write your custom property grid and apply this Editor attribute to the property
In main form assign this object
是的。 我不太记得它是如何调用的,但是请查看 Items 属性编辑器中是否有类似 ComboBox
Edited 的内容:从 @fryguybob 开始,ComboBox.Items 使用 System.Windows.Forms.Design.ListControlStringCollectionEditor
Yes. I don't quite remember how it is called, but look at the Items property editor for something like ComboBox
Edited: As of @fryguybob, ComboBox.Items uses the System.Windows.Forms.Design.ListControlStringCollectionEditor