代码改变世界

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

  Virus-BeautyCode  阅读(11555)  评论(6编辑  收藏  举报
 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();
        }

    }

}
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示