[原创]如何为用户控件添加事件

 

Windows 窗体支持三种用户定义的控件:复合、扩展和自定义,复合控件是封装在公共容器内的 Windows 窗体控件的集合。这种控件有时称为“用户控件”,包含的控件称为“构成控件”。

 

控件代码:

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 delegate void TextBoxChangedHandle(string message);

        public delegate void MyButtonClickHandle();

 

        public event TextBoxChangedHandle TextBoxChanged;

        public event MyButtonClickHandle MyButtonClick; 

 

        public UserControl1()

        {

            InitializeComponent();

        }

 

        private void textBox1_TextChanged(object sender, EventArgs e)

        {

            TextBoxChanged(this.textBox1.Text);  

        }

 

        private void button1_Click(object sender, EventArgs e)

        {

            if (MyButtonClick != null)
            {
                MyButtonClick();
            }
        }

    }

}

 

 

调用窗体:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

 

namespace WindowsApplication1

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

 

        private void userControl11_MyButtonClick()

        {

            MessageBox.Show("你点击用户控件中的按钮!" );  

        }

 

        private void userControl11_TextBoxChanged(string message)

        {

            MessageBox.Show("你改变了用户控件中TextBox的值:" + message); 

        }

 

    }

}

posted on 2009-08-06 14:42  highmayor  阅读(407)  评论(0编辑  收藏  举报

导航