使用复合控件-(初次使用的怪现象)
2008-01-11 20:16
197 查看
在我开始学习编写复合控件时,发现了这样一个怪现象,不知大家有没有遇到。
我按照网上的写了一个登陆的控件,代码是一样的,只是命名空间不同,
<%@ Register Assembly="ClassLibrary1" Namespace="ClassLibrary1.LoginControls" TagPrefix="cc1" %>
<%@ Register Assembly="ClassLibrary1" Namespace="CustomComponents" TagPrefix="cc2" %>
<cc2:CompositeLogin ID="CompositeLogin2" runat="server" NameLabel="姓名: "
PasswordLabel="密码: " BackColor="IndianRed" BorderColor="Gray" BorderWidth="1px"
NameErrorMessage="你必须输入姓名" PasswordErrorMessage="dd" Name="fff"/>
<cc1:dgwLoginControl ID="DgwLoginControl1" runat="server" NameLabel="姓名: "
PasswordLabel="密码: " BackColor="IndianRed" BorderColor="Gray" BorderWidth="1px"
NameErrorMessage="你必须输入姓名" PasswordErrorMessage="dd" Name="fff"/>
好了,,在设计界面上控件出错了,但在网页又好何呢,?看看图片就知了
结果是正常显示了。
好!!!那我把Namespace="ClassLibrary1.LoginControls"这一个命名空间改为Namespace="ClassLibrary1"结果,如我所想的,全部都可以正常显示。这难道是一个BUG??????请指教。
还有一点要注意的,那就是设置属性名称的时候最好不要与对象名相同
如:[BrowsableAttribute(true)]
[DescriptionAttribute("表水平对齐")]
[CategoryAttribute("Appearance")]
public virtual HorizontalAlign HorizontalAlign
{
get { return ((CustomTableStyle)ControlStyle).; }
set { ((CustomTableStyle)ControlStyle).HorizontalAlign = value; }
}
在这里我设置了公开的属性名称为HorizontalAlign而TableStyle的方法中有一个HorizontalAlign的对象。如果这样公开属性的话,有可能导致在设计界面时控件出错提示为不能对HorizontalAlign属性进行赋值或刷新控件时不能保存刚刚修改的数据。
我们应该写成这样的:[BrowsableAttribute(true)]
[DescriptionAttribute("表水平对齐")]
[CategoryAttribute("Appearance")]
public virtual HorizontalAlign HorizontalAlignX
{
get { return ((CustomTableStyle)ControlStyle).; }
set { ((CustomTableStyle)ControlStyle).HorizontalAlign = value; }
}
确保公开属性名称与基本的对象名不相同
我按照网上的写了一个登陆的控件,代码是一样的,只是命名空间不同,
<%@ Register Assembly="ClassLibrary1" Namespace="ClassLibrary1.LoginControls" TagPrefix="cc1" %>
<%@ Register Assembly="ClassLibrary1" Namespace="CustomComponents" TagPrefix="cc2" %>
<cc2:CompositeLogin ID="CompositeLogin2" runat="server" NameLabel="姓名: "
PasswordLabel="密码: " BackColor="IndianRed" BorderColor="Gray" BorderWidth="1px"
NameErrorMessage="你必须输入姓名" PasswordErrorMessage="dd" Name="fff"/>
<cc1:dgwLoginControl ID="DgwLoginControl1" runat="server" NameLabel="姓名: "
PasswordLabel="密码: " BackColor="IndianRed" BorderColor="Gray" BorderWidth="1px"
NameErrorMessage="你必须输入姓名" PasswordErrorMessage="dd" Name="fff"/>
好了,,在设计界面上控件出错了,但在网页又好何呢,?看看图片就知了
结果是正常显示了。
好!!!那我把Namespace="ClassLibrary1.LoginControls"这一个命名空间改为Namespace="ClassLibrary1"结果,如我所想的,全部都可以正常显示。这难道是一个BUG??????请指教。
还有一点要注意的,那就是设置属性名称的时候最好不要与对象名相同
如:[BrowsableAttribute(true)]
[DescriptionAttribute("表水平对齐")]
[CategoryAttribute("Appearance")]
public virtual HorizontalAlign HorizontalAlign
{
get { return ((CustomTableStyle)ControlStyle).; }
set { ((CustomTableStyle)ControlStyle).HorizontalAlign = value; }
}
在这里我设置了公开的属性名称为HorizontalAlign而TableStyle的方法中有一个HorizontalAlign的对象。如果这样公开属性的话,有可能导致在设计界面时控件出错提示为不能对HorizontalAlign属性进行赋值或刷新控件时不能保存刚刚修改的数据。
我们应该写成这样的:[BrowsableAttribute(true)]
[DescriptionAttribute("表水平对齐")]
[CategoryAttribute("Appearance")]
public virtual HorizontalAlign HorizontalAlignX
{
get { return ((CustomTableStyle)ControlStyle).; }
set { ((CustomTableStyle)ControlStyle).HorizontalAlign = value; }
}
确保公开属性名称与基本的对象名不相同
相关文章推荐
- Android复合控件创建与使用Demo
- swift开发笔记16 - 使用xib自定义一个控件(复合控件)
- 使用 Visual C# 创作复合控件
- DevExpress控件安装和初次使用图解
- [求救]关于Delphi中控件的拖放(初次使用Delphi,望高人指点)
- DevExpress控件安装和初次使用图解
- 方便winform中的数据验证,制作一个使用正则表达式验证数据的复合控件
- 第8天 Symbian学习之开发实践:简单控件和复合控件的使用
- 流程图控件FlowChart.NET使用教程:复合命令
- 使用VB.NET开发复合控件
- 流程图控件FlowChart.NET中复合命令的使用
- (使用.Net)在绘制控件时如何消除闪烁现象
- Android中使用Animation实现控件的动画效果以及Interpolator和AnimationListener的使用
- Android RecyclerView 使用完全解析 体验艺术般的控件
- jQuery的控件及事件(输入控件及回车事件)使用示例
- Android开源控件ViewPager Indicator的使用方法
- 你使用控件吗?会用吗?
- 自定义个性化的web复合控件
- web中使用第三方控件
- WinForm------PopupMenu控件的使用