资源简介

近期使用了.net中的PropertyGrid,通过多方资料例子,感觉有所收获,特将一些心得分享一下: 1、例子展示了属性的各个特性(ReadOnly、Browsable、Category、Description、TypeConverter、Editor、DefaultValue、DisplayName)的效果。 2、例子中实现了一个自定义的Editor:AlignModeUITypeEditor,以支持自定义的属性设计器。 3、例子中实现了一个自定义的Attribute:DisplayNameAttribute和一个自定一个TypeConverter:EnumConverter,以支持显示的值与实际选中的值可以不同并一一对应。 注意,各个属性均是自己定义的一个枚举类型AlignMode。 查看各个属性并注意下方的说明,再结合源代码,你一定会有很大的收获。 可以通过:http://blog.tglgx.cn/post/2010/01/04/usercontrol_Attribute_TypeConverter_UITypeEditor_PropertyGrid.aspx 免分下载

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;

namespace TGL.Common.Enums
{
    //其中TGL.Attributes.DisplayName是自定义的属性特性,主要用于在属性设计器显示时显示不同的名称,需要配合TGL.Control.Converters.EnumConverter使用
    /// 
    /// 对齐方式
    /// 

    public enum AlignMode
    {
        /// 
        /// 左 ←
        /// 

        [Description(“水平靠左,垂直居中“) TGL.Attributes.DisplayName(“左对齐“)]
        Left
        /// 
        /// 右 →
        /// 

        [Description(“水平靠右,垂直居中“) TGL.Attributes.DisplayName(“右对齐“)]
        Right
        /// 
        /// 上 ↑
        /// 

        [Description(“水平居中,垂直靠上“) TGL.Attributes.DisplayName(“顶端对齐“)]
        Top
        /// 
        /// 下 ↓
        /// 

        [Description(“水平居中,垂直靠下“) TGL.Attributes.DisplayName(“底部对齐“)]
        Bottom
        /// 
        /// 左上 ↖
        /// 

        [Description(“水平靠左,垂直靠上“) TGL.Attributes.DisplayName(“左上对齐“)]
        UpperLeft
        /// 
        /// 右上 ↗
        /// 

        [Description(“水平靠右,垂直靠上“) TGL.Attributes.DisplayName(“右上对齐“)]
        UpperRight
        /// 
        /// 左下 ↙
        /// 

        [Description(“水平靠左,垂直靠下“) TGL.Attributes.DisplayName(“左下对齐“)]
        LowerLeft
        /// 
        /// 右下 ↘
        /// 

        [Description(“水平靠右,垂直靠下“) TGL.Attributes.DisplayName(“右下对齐“)]
        LowerRight
        /// 
        /// 正中 ㊣
        /// 

        [Description(“水平居中,垂直居中“) TGL.Attributes.DisplayName(“居中对齐“)]
        Center 
        /// 
        /// 默认○
        /// 

        [Description(“默认设置“) TGL.Attributes.DisplayName(“默认“)]
        Default
    }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1388  2010-01-04 10:09  PropertyGridDemo\Properties\AssemblyInfo.cs

     文件       5612  2010-01-04 10:09  PropertyGridDemo\Properties\Resources.resx

     文件       2882  2010-01-04 10:09  PropertyGridDemo\Properties\Resources.Designer.cs

     文件        249  2010-01-04 10:09  PropertyGridDemo\Properties\Settings.settings

     文件       1101  2010-01-04 10:09  PropertyGridDemo\Properties\Settings.Designer.cs

     文件        488  2010-01-04 10:21  PropertyGridDemo\Program.cs

     文件       4023  2010-01-04 10:43  PropertyGridDemo\PropertyGridDemo.csproj

     文件      14328  2010-01-04 10:44  PropertyGridDemo\bin\Debug\UITypeEditorDemo.vshost.exe

     文件        490  2007-07-21 01:33  PropertyGridDemo\bin\Debug\UITypeEditorDemo.vshost.exe.manifest

     文件        180  2010-01-04 10:19  PropertyGridDemo\obj\Debug\UITypeEditorDemo.UITypeEditorDemo.resources

     文件        928  2010-01-04 10:19  PropertyGridDemo\obj\Debug\UITypeEditorDemo.csproj.GenerateResource.Cache

     文件       1005  2010-01-04 10:21  PropertyGridDemo\obj\Debug\UITypeEditorDemo.csproj.FileListAbsolute.txt

     文件        921  2010-01-04 10:22  PropertyGridDemo\PropertyGridDemo.sln

    ..A..H.     18944  2010-01-04 10:25  PropertyGridDemo\UITypeEditorDemo.suo

     文件       5845  2010-01-04 10:44  PropertyGridDemo\PropertyGridDemo.cs

     文件       2068  2010-01-04 10:22  PropertyGridDemo\PropertyGridDemo.Designer.cs

     文件       5814  2010-01-04 10:22  PropertyGridDemo\PropertyGridDemo.resx

     文件       2607  2010-01-04 10:35  PropertyGridDemo\AlignModeSelector.cs

     文件      10663  2010-01-04 10:11  PropertyGridDemo\AlignModeSelector.designer.cs

     文件       6009  2010-01-04 10:11  PropertyGridDemo\AlignModeSelector.resx

     文件       3339  2010-01-04 10:38  PropertyGridDemo\AlignModeUITypeEditor.cs

     文件       2257  2010-01-04 10:32  PropertyGridDemo\AlignMode.cs

     文件       2567  2010-01-04 10:43  PropertyGridDemo\EnumConverter.cs

     文件        680  2010-01-04 10:40  PropertyGridDemo\DisplayNameAttribute.cs

     文件       3420  2010-01-04 10:38  PropertyGridDemo\AttributeCommon.cs

    ..A..H.     15360  2010-01-04 10:44  PropertyGridDemo\PropertyGridDemo.suo

     目录          0  2010-01-04 10:09  PropertyGridDemo\obj\Debug\TempPE

     目录          0  2010-01-04 10:09  PropertyGridDemo\obj\Debug\Refactor

     目录          0  2010-01-04 10:09  PropertyGridDemo\bin\Debug

     目录          0  2010-01-04 10:09  PropertyGridDemo\obj\Debug

............此处省略7个文件信息

评论

共有 条评论

相关资源