组件编程(6) Component Designer

        这章主要讲Component的Designer,Designer顾名思义就是为Component设计时服务的,Designer可以在设计时修改组件的行为,还可以提供它自己的服务和行为。
        在.net里要为Control或者Component定制Designer,只要从IDesigner继承下来即可,但是在.net里ms已经帮我们做了两个从IDesigner继承下来的基类,ComponentDesigner和ControlDesigner,ComponentDesigner是为Component而设计的,ControlDesigner是为Control而设计的,所以我们可以直接从ComponentDesigner继承。
        Designer可以提供右键快捷菜单上的菜单命令,我们可以通过实现ComponentDesigner 谓词(Verbs) 属性来定义 get 访问器,该访问器返回的 DesignerVerbCollection 中包含用于生成菜单命令的 DesignerVerb 对象。
同时我们对组件被双击时定制默认操作,在Component Designer实现 DoDefaultAction 方法即可。
        示例代码如下: 下载源代码
using  System;
using  System.Collections.Generic;
using  System.Text;
using  System.ComponentModel;
using  System.ComponentModel.Design;
using  System.Windows.Forms;
using  System.Windows.Forms.Design;

namespace  ClassLibrary1
{
    [DefaultEvent(
"CustomerLogin")]
    [Designer(
typeof(Class1Designer), typeof(IDesigner)), Editor(typeof(Class1Editor), typeof(ComponentEditor))]
    
public class Customer : Component
    
{
        
private string _parentComponentName;
        
private int _age;
        
private string _address;

        
public delegate void CustomerLoginEventHandler(object sender, CustomerLoginEventArgs e);
        
public delegate void CustomerLogoutEventHandler(object sender, CustomerLogoutEventArgs e);

        
public string ParentComponentName
        
{
            
get return _parentComponentName; }
            
set 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值