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