PropertyGrid显示中文属性名(网上整理的,原作别介意).docxVIP

PropertyGrid显示中文属性名(网上整理的,原作别介意).docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PropertyGrid显示中文属性名(网上整理的,原作别介意)

C#基础系列:开发自己的窗体设计器(PropertyGrid显示中文属性名)既然是一个窗体设计器,那就应该能够设置控件的属性,设置属性最好的当然是PropertyGrid了,我们仅仅需要使用一个PropertyGrid.SelectedObject = Control就可以搞定,让PropertyGrid显示Control的所有属性。可是这里显示的属性名是英文的。对于我们开发人员来说这无可厚非,我们也乐于接受。并且让PropertyGrid显示中文属性名,这对于我们开发人员的使用来说显得多此一举。可是,对于我这种类型的一个应用工具,英文属性名对于很多客户来说可能就很难懂了。所以应该让PrpertyGrid能够显示中文属性名。如图:?另外,对于这样的一个系统。并不是控件的所有属性都是用户希望的,可能用户希望看到的仅仅是控件高度、控件宽度、控件文本。。等等的属性,但是如果直接将一个控件属性全部显示给用户的话,估计对用户造成的干扰和困惑是很大的。如何解决这个问题呢?其实用户控件开发的时候,如果我们不希望此属性在PropertyGrid中显示,我们可以设置这个控件的Attribute,如:[Browsable(false)]public int Width{ get { } set { }}通过使用BrowsableAttribute就可以设置将此属性对PropertyGrid隐藏。?你可能要问到了,对于控件来说,其中的很多属性都是直接继承来的,我们并没有办法控制是否对PropertyGrid隐藏啊?呵呵,对啊,这就是我下面要说的解决方法(当然此方法显得不是很灵活,但是对于这种类型的系统的确相当有用)。在我的解决方式中,我不直接这样PropertyGrid.SelectedObject = Control,而是把这个Control替换成一个专门为此类型的Control设计的类对象上。比如我对TextBox设计了一个TextBoxProperty,这样我们使用的是PropertyGrid.SelectedObject = TextBoxProperty的一个对象。下面就是TextBoxProperty的代码:public class TextBoxProperty : PropertyBase{ private TextBox _Control; public TextBoxProperty() { } public TextBoxProperty(TextBox control) { this._Control = control; } [MyControlAttibute(文本, 获取或者设置控件文本, )] public string Text { get { return this._Control.Text; } set?{ this._Control.Text = value; } } [MyControlAttibute(宽度, 获取或者设置控件宽度, )] public int Width { get { return this._Control.Width; } set?{ this._Control.Width = (int)value; } } [MyControlAttibute(高度, 获取或者设置控件高度, )] public int Height { get { return this._Control.Height; } set?{ this._Control.Height = (int)value; } } [MyControlAttibute(上边距, 获取或者设置控件上边位置, )] public int Top { get { return this._Control.Top; } set { this._Control.Top = value; } } [MyControlAttibute(左边距, 获取或者设置控件左边位置, )] public int Left { get { return this._Control.Left; } set { this._Control.Left = value; } } [MyControlAttibute(背景色, 获取或者设置控件背景颜色, )] public Color BackColor { get { return this._Control.BackColor; } set { this._Control.BackColor = value; } } [MyControlAttibute(前景色, 获取或者设置控件的前景颜色, )] public Color ForeColor { get { return this._Control.For

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档