C#窗體程序【用戶控件-窗體】委托事件


這里的自定義控件是由普通控件組合而成的。
希望事件響應代碼推遲到使用自定義控件的窗體里寫。
步驟一:新建一個用戶控件,放兩個按鈕,Tag分別是btn1,btn2.
這兩個按鈕的共用單擊事件處理代碼如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace UcDll
{
  public partial class UcTest : UserControl
  {
    public UcTest()
    {
      InitializeComponent();
    }
    //定義委托
    public delegate void BtnClickHandle(object sender, EventArgs e);
    //定義事件
    public event BtnClickHandle UserControlBtnClicked;
    private void btn_Click(object sender, EventArgs e)
    {
      if (UserControlBtnClicked != null)
        UserControlBtnClicked(sender, new EventArgs());//把按鈕自身作為參數傳遞
    }
  }
}

步驟二:當用戶拖一個自定義控件在窗體的時候,

在事件里可以找到UserControlBtnClicked事件。

private void ucTest1_UserControlBtnClicked(object sender, EventArgs e)
{
  Button btn = sender as Button;
  MessageBox.Show(btn.Tag.ToString());
}

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM