zoukankan      html  css  js  c++  java
  • 简单的用户自定义控件



    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Drawing;
    using System.Data;
    using System.Text;
    using System.Windows.Forms;

    namespace StephenJu.Second
    {
        
    public partial class UserControl1 : UserControl
        {
            
    public UserControl1()
            {
                InitializeComponent();
            }

            
    public event EventHandler AddressLine1Changed;//定义不包含事件数据的事件的方法
            public event EventHandler AddressLine2Changed;
            
    public event EventHandler ZoneChanged;
            
    public event EventHandler NumberChanged;

            [Category(
    "NumberData"),DescriptionAttribute("Get or sets the Number value"),DefaultValue("")]
            
    public string Number
            {
                
    get { return this.txtNumber.Text;}
                
    set
                {
                    
    if (txtNumber.Text != value)
                    {
                        txtNumber.Text 
    = value;
                        
    if (NumberChanged != null)
                        {
                            NumberChanged(
    this, PropertyChangedEventArgs.Empty);
                        }
                    }
                }
            }

            [Category(
    "AddressData"), DescriptionAttribute("Gets or sets the AddressLine1 value"), DefaultValue("")]
            
    public string AddressLine1
            {
                
    get { return this.txtAddress1.Text; }
                
    set
                {
                    
    if (txtAddress1.Text != value)
                    {
                        txtAddress1.Text 
    = value;
                        
    if (AddressLine1Changed != null)
                        {
                            AddressLine1Changed(
    this, PropertyChangedEventArgs.Empty);
                        }
                    }
                }
            }

            [Category(
    "AddressData"), DescriptionAttribute("Gets or sets the AddressLine2 value"), DefaultValue("")]
            
    public string AddressLine2
            {
                
    get { return this.txtAddress2.Text; }
                
    set
                {
                    
    if (txtAddress2.Text != value)
                    {
                        txtAddress2.Text 
    = value;
                        
    if (AddressLine2Changed != null)
                        {
                            AddressLine2Changed(
    this, PropertyChangedEventArgs.Empty);
                        }
                    }
                }
            }

            [Category(
    "ZoneData"), DescriptionAttribute("Gets or sets the Zone value"), DefaultValue("")]
            
    public string Zone
            {
                
    get { return this.txtZone.Text; }
                
    set
                {
                    
    if (txtZone.Text != value)
                    {
                        txtZone.Text 
    = value;
                        
    if (ZoneChanged != null)
                        {
                            ZoneChanged(
    this, PropertyChangedEventArgs.Empty);
                        }
                    }
                }
            }

            
    private void TextBoxControls_TextChanged(object sender,EventArgs e)
            {
                
    switch(((TextBox)sender).Name) //控件的名称
                {
                    
    case "txtAddress1":
                        
    if (AddressLine1Changed != null)
                            AddressLine1Changed(
    this, EventArgs.Empty);
                        
    break;
                    
    case "txtAddress2":
                        
    if (AddressLine2Changed != null)
                            AddressLine2Changed(
    this, EventArgs.Empty);
                        
    break;
                    
    case "txtZone":
                        
    if (ZoneChanged != null)
                            ZoneChanged(
    this, EventArgs.Empty);
                        
    break;
                    
    case "txtNumber":
                        
    if (NumberChanged != null)
                            NumberChanged(
    this, EventArgs.Empty);
                        
    break;
                }
            }
        }
    }

    摘自:virus
  • 相关阅读:
    谈谈Ext JS的组件——组件基类:Ext.Component
    谈谈Ext JS组件之引子
    安装Compass时不能访问服务器的问题
    Android监听电池状态
    为macbook双系统的windows装驱动
    Activity中的四种启动模式
    【翻译】Ext JS 6 Beta发布
    eclipse下出现奇怪字符的解决方法
    浅谈设计模式
    【翻译】Ext JS 5:为不同设备设置不同的主题
  • 原文地址:https://www.cnblogs.com/perfect/p/1207617.html
Copyright © 2011-2022 走看看