博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

c#,winform,UserContrl,用户控件开发,窗体

Posted on 2010-10-26 18:49  gczhao  阅读(578)  评论(0编辑  收藏  举报

本文转自http://www.cnblogs.com/virusswb/archive/2008/05/25/1206914.html

 

 66.JPG
用户控件效果如上图
代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;

namespace WindowsControlLibrary1
{
    
public partial class UserControl1 : UserControl
    
{
        
public event EventHandler AddressLine1Changed;
        
public event EventHandler AddressLine2Changed;
        
public event EventHandler ZoneChanged;
        
public event EventHandler NumberChanged;

        
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;
            }

        }

        [Category(
"NumberData"), DescriptionAttribute("Gets 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 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 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 txtZone.Text; }
            
set
            
{
                
if (txtZone.Text != value)
                
{
                    txtZone.Text 
= value;
                    
if (ZoneChanged!= null)
                        ZoneChanged(
this, PropertyChangedEventArgs.Empty);
                }

            }

        }

        
        
        
public UserControl1()
        
{
            InitializeComponent();
        }

    }

}