출처 : https://stackoverflow.com/questions/9677062/user-control-click-event-not-working-when-clicking-on-text-inside-control#9677239




아래의 방법들은 모든 콘트롤에 대해서 지정하는 방법으로 단일 콘트롤에 클릭 이벤트를 주려면 약간의 수정을 해야한다




Click 이벤트에 새로 할당하는 방법

public partial class UserControl1 : UserControl

{

    public UserControl1()

    {

        InitializeComponent();

    }

 

    public new event EventHandler Click

    {

        add

        {

            base.Click += value;

            foreach (Control control in Controls)

            {

                control.Click += value;

            }

        }

        remove

        {

            base.Click -= value;

            foreach (Control control in Controls)

            {

                control.Click -= value;

            }

        }

    }

 

}





Click 이라는 이름 말고 다른 이름으로 할당하는 방법

public partial class UserControl1 : UserControl

{

    public UserControl1()

    {

        InitializeComponent();

    }

 

    [Description("유저콘트롤 클릭이벤트"), Category("내가 만든 이벤트")]

    public event EventHandler OnUserControlButtonClicked;

 

    private void UserControl1_Load(object sender, EventArgs e)

    {

        foreach (Control c in this.Controls)

        {

            c.Click += OnUserControlButtonClicked;

        }

    }

}






















Posted by motolies
,