private void register_Click(object sender, EventArgs e)
{
this.Visible = false;
register frm = new register();
frm.Show();
}
이렇게 소스가 짜여있습니다만 (폼의 오너 설정 X)
이렇게하면 폼이 register 로 변경됩니다.
근데 register 의 폼을 닫기버튼을 눌러서 닫으면 폼은 아무것도 안보이는데
프로그램은 실행되고 있습니다.
자식폼을 닫을때 프로그램이 꺼지게 하는법은 없을까요?
Application.Exit();
ÀÌ°Å Çϳª Ãß°¡Çغ¸¼¼¿ä.
Application.Exit(); ¸¦ Ãß°¡ÇÏ¸é µÇ±ä ÇÕ´Ï´Ù¸¸...
ÀϹÝÀûÀÎ »ç¿ë ¹æ¹ý°ú ´Ù¸¥ °æ¿ìÀÌ´Ï..
¼³°è°¡ ¹®Á¦°¡ ¾ø´ÂÁö ´Ù½Ã ÇÑ ¹ø È®ÀÎÇØ º¸´Â °ÍÀÌ ÁÁÀ» °Í °°½À´Ï´Ù.
Application.OpenForms["register"].Close();
Çؼ ¸í½ÃÀûÀ¸·Î ã¾Æ¼ ´Ý¾Æ ÁÖ½Ã¸é µÇÁö ¾ÊÀ»±î¿ä?
register frm = null;
private void register_Click(object sender, EventArgs e)
{
this.Visible = false;
frm = new register();
frm.IsRun = true; // register Ŭ·¡½º¿¡ public volatile bool IsRun À» ¹Ì¸® ¸¸µé¾îµÖ¾ß°ÚÁÒ..
frm.Show();
this.Close();
}
ÀÌ·¸°Ô ºÎ¸ð ÀÚ½ÅÀ» Á¾·á½ÃÅ°µÇ
ÀÚ½ÅÀÇ Form_Closing À̺¥Æ® ÇÔ¼ö ¾È¿¡´Â frm != null ÀÎ °æ¿ì¿¡ ´ëÇÏ¿© frm.IsRun ÀÌ false °¡ µÇ´ÂÁö ¹Ýº¹¹® ¾È¿¡¼ Thread.SleepÀ» ½á°¡¸é¼ È®ÀÎÇØÁÖ°í Á×À»³¯¸¸ ±â´Ù¸®¸é µÇ°ÚÁÒ.
ÀÚ½Ä ÆûÀº Á×À» ¶§ ÀÚ½ÅÀÇ IsRun = false; ¸¦ Çѹø ÇØÁÖ°í Á×À¸¸é ÀÚ½ÄÀÌ Á×°í ±× µÚ ºÎ¸ð°¡ Á×°ÚÁÒ.
¾Æ´Ï¸é.. ÀÚ½ÄÆûÀÌ Á×À» ¶§ ºÎ¸ðÆû ¿¡´Ù°¡ WM_CLOSE ¸¦ ½÷ ÁشٵçÁö.. (ÀÌ ¹æ¹ýÀÌ À§¿¡ ¸»ÇÑ ¹æ¹ý°ú ºñ½ÁÇÑ µí..)