艾伟:WinForm控件开发总结(三)------认识WinForm控件常用的Attribute

简介: 在前面的文章里我们制作了一个非常简单的控件。现在我们回过头来看看这些代码透露出什么信息。  这个类是直接从Control类派生出来的,自定义控件都是直接从Control类派生出来的。这个类定义了一个属性TextAlignment,用来控制文本在控件中显示的位置:          ...

      在前面的文章里我们制作了一个非常简单的控件。现在我们回过头来看看这些代码透露出什么信息。

  这个类是直接从Control类派生出来的,自定义控件都是直接从Control类派生出来的。这个类定义了一个属性TextAlignment,用来控制文本在控件中显示的位置:
      

        [
        Category(
" Alignment " ),
        Description(
" Specifies the alignment of text. " )
        ]
        
public  ContentAlignment TextAlignment
        
{

            
get
            
{
                
return alignmentValue;
            }

            
set
            
{
                alignmentValue 
= value;

                
// The Invalidate method invokes the OnPaint method described 
                
// in step 3.
                Invalidate();
            }

        }

      

   在这个属性之上有两个Attribute,这两个attribute描述了控件在设计时所表现出来的特征。我们来看看在控件设计中有哪些主要用到的设计时Attribute。 
   BrowsableAttribute:描述是否一个属性或事件应该被显示在属性浏览器里。
   CategoryAttribute:描述一个属性或事件的类别,当使用类别的时候,属性浏览器按类别将属性分组。
   DescriptionAttribute:当用户在属性浏览器里选择属性的时候,description里指定的文本会显示在属性浏览器的下边,向用户显示属性的功能。
   BindableAttribute:描述是否一个属性倾向于被绑定。
   DefaultPropertyAttribute:为组件指定一个默认的属性,当用户在Form设计器上选择一个控件的时候,默认属性会在属性浏览器里被选中。   
   DefaultValueAttribute
:为一个简单类型的属性设置一个默认值。
   EditorAttribute:为属性指定一个特殊的编辑器。
   LocalizableAttribute:指示一个属性是否能被本地化,任何有这个Attribute的属性将会被持久化到资源文件里。   
   DesignerSerializationVisibilityAttribute
:指示一个属性是否或者如何持久化到代码里。
   TypeConverterAttribute:为属性指定一个类型转换器,类型转换器能将属性的值转化成其它的数据类型。
   DefaultEventAttribute:为组件指定一个默认的事件,当用户在form设计其中选择一个控件的时候,在属性浏览器中这个事件被选中。
   这些设计时的Attribute时很重要的,如果使用的好,将会对用户的使用带来很大的便利。
   这一章我主要介绍了设计时的Attribute,接下来的文章我将通过代码来介绍这些Attribute

目录
相关文章
|
7月前
|
C# Windows
2000条你应知的WPF小姿势 基础篇<78-81 Dialog/Location/WPF设备无关性>
2000条你应知的WPF小姿势 基础篇<78-81 Dialog/Location/WPF设备无关性>
55 0
|
C# 索引 Windows
Winform控件优化之TabControl控件的使用和常用功能
TabControl是一个分页切换(tab)控件,不同的页框内可以呈现不同的内容,将主要介绍调整tab的左右侧显示、设置多行tab、禁用或删除tabpage、隐藏TabControl头部的选项卡等
3852 0
Winform控件优化之TabControl控件的使用和常用功能
|
C# Windows
wpf怎么使用WindowsFormsHost(即winform控件)
原文:wpf怎么使用WindowsFormsHost(即winform控件) 使用方法:   1、首先,我们需要向项目中的引用(reference)中添加两个动态库dll,一个是.
5069 0
|
8月前
|
Java C# 索引
C#之 十九 使用WinForm控件
C#之 十九 使用WinForm控件
119 0
|
9月前
|
存储 安全 C#
WPF技术之PasswordBox控件
WPF PasswordBox控件是一种用于接收和保护密码输入的输入框。用户在输入密码时,密码框控件会对输入的文本进行隐藏,以确保密码安全。
126 0
|
9月前
|
C# 容器
WPF技术之Expander控件
WPF Expander控件是一个可折叠展开的容器,它允许用户在需要时展开或折叠其内容。它提供了一种在图形界面中组织和隐藏信息的方式。
283 0
|
测试技术
艾伟:WinForm控件开发总结(二)------使用和调试自定义控件
在上一篇文章里我们创建了一个简单的控件FirstControl,现在我来介绍一下怎么使用和调试自己的控件。我希望将过程写的尽可能的详细,让想学习控件开发的朋友容易上手,高手们见谅。       在同一个solution里添加一个Windows Application工程(在Solution Explorer里右键点击CustomControlSample solution选择Add->New Project…),命名为TestControl。
865 0
|
Web App开发
艾伟:WinForm控件开发总结(五)-----为控件的复杂属性提供类型转换器
上一篇文章我已经介绍了TypeConverterAttribute元数据的作用,本文将通过代码向你展示具体的实现。在这个例子中,我要给控件添加一个复杂的属性,这个属性对这个控件没有什么功用,纯粹是为了演示,有些牵强附会了。
796 0
艾伟:WinForm控件开发总结(六)-----控件属性类型转换器代码详解
在上一篇文章,我为控件添加一个一个复杂属性,并且为这个属性的类型的编写了一个类型转换器,现在我们来看看这个类型转换器的代码,并解释一下这些代码的意义。       要实现一个类型转换器,我们必须要重写(override)四个方法:       CanConvertFrom()――根据类型参数进行测试,判断是否能从这个类型转换成当前类型,在本例中我们只提供转换string和InstanceDescriptor类型的能力。
813 0
|
C# Windows 安全
WinForm控件与WPF控件的交互
原文:WinForm控件与WPF控件的交互 这个问题其实也可以理解为:怎样在WPF/XAML中使用Winform中的控件(如PictureBox)?首先看看XAML代码:(注意下面加粗的部分)              ...
1050 0