答案:改变 PropertyGrid 控件的编辑风格(2)——编辑多行文本
张昱e-zhangyu@vip.sina.com
效果:
适用场合:
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 = "";
[
上一个:改变 PropertyGrid 控件的编辑风格(3)——打开对话框
下一个:改变 PropertyGrid 控件的编辑风格(1)——加入日期控件