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
  • 相关阅读:
    软件开发流程概要(笔记)
    (转)HTTP协议及其POST与GET操作差异 & C#中如何使用POST、GET等
    (转)敏捷开发简介
    (转)从零开始学习ASP.NET MVC 1.0 (一) 开天辟地入门篇
    WinForm二三事(二)异步操作
    TSQL变量操作详解
    C#委托和多线程文章收藏
    psad, fwknop, 和fwsnort等著名开源安全软件的开发者谈Linux防火墙
    最通俗易懂的面向对象著作
    找到一本适合自己的SQL Server 2008入门书
  • 原文地址:https://www.cnblogs.com/perfect/p/1207617.html
Copyright © 2011-2022 走看看