상세 컨텐츠

본문 제목

Form과 UserControl를 지니고 있는 사이간의 이벤트 소통

C#

by xarfox 2013. 1. 8. 15:02

본문

유저 컨트롤(UC)에서 유저 컨트롤을 포함하고 있는 폼(frmMain)의 메소스 실행하는 방법


    public delegate void ClickMe();  //  1. 메인폼의 상단에 public으로 선언하여 모두가 접근 가능


    public partial class FrmMain : Form

    {


~~~~~


유저컨트롤 (UC) 내에서


     public partial class UC_DATA : UserControl

    {        

        public event ClickMe CustomControlClickMe;


        public UC_DATA()

        {

            InitializeComponent();

        }  


        private void lbl_Data_Click(object sender, EventArgs e)

        {

            if (CustomControlClickMe != null)

                CustomControlClickMe();

        }

~~~~~


그리고 다시 메인폼에서



폼로드시 이벤트 추가 시켜주고


_DATA[idx].CustomControlClickMe += new ClickMe(CustomTemperature);




실행할 함수 CustomTemperature()를 정의한다.



        void CustomTemperature()

        {

            KEYPAD kpad = new KEYPAD();

            kpad.ShowDialog(this);


            if (_kpad == "")

                return;

            else

            {

                heatTemp = Convert.ToDouble(_kpad);

            }


        }



===============================================================================


http://stackoverflow.com/questions/10206510/c-sharp-how-to-access-setter-method-on-main-form-from-my-user-control


http://stackoverflow.com/a/10206671





관련글 더보기