请选择 进入手机版 | 继续访问电脑版


改变 PropertyGrid 控件的编辑风格(2)——编辑多行文本

35
回复
9515
查看
[复制链接]
等级头衔

头衔 产品经理

Rank: 90Rank: 90

积分成就
UID
40
威望
61
贡献
61
在线时间
2 小时
注册时间
2014-2-24

发表于 2014-8-1 12:29:14 | 显示全部楼层 |阅读模式

步骤一:定义从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();



         }



哎...今天够累的,签到来了7...
等级头衔

头衔 高级会员

Rank: 35Rank: 35Rank: 35Rank: 35Rank: 35

积分成就
UID
3553658
威望
146
贡献
0
在线时间
2 小时
注册时间
2014-6-20

发表于 2016-9-8 19:47:24 | 显示全部楼层
很不错
回复 支持 反对

使用道具 举报

等级头衔

头衔 高级会员

Rank: 35Rank: 35Rank: 35Rank: 35Rank: 35

积分成就
UID
3553650
威望
153
贡献
0
在线时间
1 小时
注册时间
2014-6-20

发表于 2016-9-8 19:55:26 | 显示全部楼层
说的非常好
回复 支持 反对

使用道具 举报

等级头衔

头衔 高级会员

Rank: 35Rank: 35Rank: 35Rank: 35Rank: 35

积分成就
UID
3553652
威望
153
贡献
0
在线时间
1 小时
注册时间
2014-6-20

发表于 2016-9-8 19:56:58 | 显示全部楼层
不错不错
[url=http://www.boxoffice-services.com/ajaxplorer/abercrombie.php]abercrombie pa
回复 支持 反对

使用道具 举报

等级头衔

头衔 高级会员

Rank: 35Rank: 35Rank: 35Rank: 35Rank: 35

积分成就
UID
3553658
威望
146
贡献
0
在线时间
2 小时
注册时间
2014-6-20

发表于 2016-9-8 20:04:40 | 显示全部楼层
内容非常不错,谢谢楼主,我学到了
回复 支持 反对

使用道具 举报

等级头衔

头衔 中级会员

Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

积分成就
UID
3553769
威望
81
贡献
0
在线时间
8 小时
注册时间
2014-6-24

发表于 2016-9-8 20:04:47 | 显示全部楼层
非常好的内容,路过看看,保存一下
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

等级头衔

头衔 中级会员

Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

积分成就
UID
3640215
威望
65
贡献
0
在线时间
0 小时
注册时间
2016-6-30

发表于 2016-9-19 18:46:18 | 显示全部楼层
顶顶多好
欢迎加入学客联盟
回复 支持 反对

使用道具 举报

等级头衔

头衔 中级会员

Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

积分成就
UID
3640223
威望
64
贡献
0
在线时间
1 小时
注册时间
2016-7-22

发表于 2016-9-19 19:01:55 | 显示全部楼层
难得一见的好帖
欢迎加入学客联盟
回复 支持 反对

使用道具 举报

等级头衔

头衔 中级会员

Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

积分成就
UID
3640224
威望
66
贡献
0
在线时间
0 小时
注册时间
2016-7-22
QQ

发表于 2016-9-19 19:41:49 | 显示全部楼层
很好哦
欢迎加入学客联盟
回复 支持 反对

使用道具 举报

等级头衔

头衔 中级会员

Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

积分成就
UID
3640216
威望
62
贡献
0
在线时间
0 小时
注册时间
2016-6-30

发表于 2016-9-19 18:45:00 | 显示全部楼层
不错不错
欢迎加入学客联盟
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

电脑技术交流学习
132-3591-5703
周一至周五 9:00-18:00
意见反馈:admin@cnxklm.com

扫一扫访问手机版

Powered by NST! X3.4© 2001-2021技术支持( 闽ICP备14006427号 闽公网安备35090202000370号)|意见建议