유저 컨트롤(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