改变 PropertyGrid 控件的编辑风格(2)——编辑多行文本
適用場合:
1、 編輯多行文本;
2、 編輯長文本。
步驟一:定義從UITypeEditor 派生的類,示例如下:
using System;
using System.Windows.Forms;
using System.Drawing.Design;
using System.Windows.Forms.Design;
namespace blog.csdn.net.zhangyuk
{
/// <summary>
/// PropertyGridMutiText 的摘要說明。
/// </summary>
public class PropertyGridRichText : UITypeEditor
{
public override UITypeEditorEditStyle GetEditStyle(
System.ComponentModel.ITypeDescriptorContext context)
{
return UITypeEditorEditStyle.DropDown;
}
public override object EditValue(
System.ComponentModel.ITypeDescriptorContext context,
System.IServiceProvider provider,
object value)
{
try
{
IWindowsFormsEditorService edSvc = (IWindowsFormsEditorService)
provider.GetService(typeof(IWindowsFormsEditorService));
if( edSvc != null )
{
if( value is string )
{
RichTextBox box = new RichTextBox();
box.Text = value as string;
edSvc.DropDownControl( box );
return box.Text;
}
}
}
catch( Exception ex )
{
System.Console.WriteLine( 'PropertyGridRichText Error : ' + ex.Message );
return value;
}
return value;
}
}
}
步驟二:編輯屬性類,指定編輯屬性。示例如下:
namespace blog.csdn.net.zhangyuk
{
public class SomeProperties
{
private string _finished_time = '';
……
// 多行文本編輯框
string _mutiLineSample = '';
[
Description('多行文本編輯框'),
Category('屬性'),
EditorAttribute(typeof(PropertyGridRichText),
typeof(System.Drawing.Design.UITypeEditor))
]
]
public String 多行文本
{
get { return _mutiLineSample; }
set { _mutiLineSample = value;}
}
……
}
}
步驟三:設置PropertyGrid的屬性對象。示例如下:
private void Form1_Load(object sender, System.EventArgs e)
{
this.propertyGrid1.SelectedObject = new SomeProperties();
}
轉載于:https://www.cnblogs.com/worfdream/articles/1898827.html
總結
以上是生活随笔為你收集整理的改变 PropertyGrid 控件的编辑风格(2)——编辑多行文本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微软正式推免费Word 电脑商Offic
- 下一篇: 家园志动态更新