• 简单的用户自定义控件




    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
  • 相关阅读:
    npm install报错Error: ENOENT
    hibernate hql
    mysql授权
    撤销git reset soft head操作
    nodejs&npm等概念梳理
    Java类中中文问题
    采用MANIFEST.MF之jar报错ClassNotFoundException解法
    EChart和G2比较
    牛客OI测试赛1
    Codeforces Round #340 (Div.2)
  • 原文地址:https://www.cnblogs.com/perfect/p/1207617.html
Copyright © 2020-2023  润新知