์œˆ๋„์šฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ - ํผ์— ๋Œ€ํ•˜์—ฌ

2020. 9. 10. 19:55ใ†์ „๊ณต ๊ณผ๋ชฉ/์œˆ๋„์šฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

์œˆ๋„์šฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ - ํผ์— ๋Œ€ํ•˜์—ฌ

 

ํผ์— ๋Œ€ํ•œ ์งง์€ ์„ค๋ช…์€ ์•ž์—์„œ ์„ค๋ช…ํ–ˆ๋‹ค.

์˜ค๋Š˜์€ ์ด๋Ÿฌํ•œ ํผ์˜ ํ•ต์‹ฌ ํด๋ž˜์Šค์™€ ์ด๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ช‡๊ฐ€์ง€ ์ด๋ฒคํŠธ๋ฅผ ๋งŒ๋“ค์–ด ๋ณผ ๊ฒƒ์ด๋‹ค. 

 

์œˆํผ ์—ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ•ต์‹ฌ ํด๋ž˜์Šค

 

1) ํผ ํด๋ž˜์Šค 

 - ์œˆ๋„์šฐ ํผ์„ ๋‚˜ํƒ€๋‚ด๋Š” ํด๋ž˜์Šค

 

2)์ปดํฌ๋„ŒํŠธ ํด๋ž˜์Šค

 - ์ง์ ‘์ ์œผ๋กœ ํ™”๋ฉด์— ๋‚˜ํƒ€๋‚˜์ง€๋Š” ์•Š์ง€๋งŒ ๊ฐœ๋…์ ์ธ ๋ถ€๋ถ„์„ ๋‚˜ํƒ€๋‚ด๋Š” ํด๋žซ

 

3) ์ปจํŠธ๋กค ํด๋ž˜์Šค

 - ํผ์— ์ง์ ‘ ํ‘œ์‹œ๋˜๋Š” ์ปจํŠธ๋กค์„ ์œ„ํ•œ ํด๋ž˜์Šค

 

ํผ ์—ํ”Œ๋ฆฌ์ผ€์ด์…˜์—๋Š” ๋””์ž์ธ ์†Œ์Šค ์ฝ”๋“œ์™€, ์ด๋ฒคํŠธ์— ๋Œ€ํ•œ ์†Œ์Šค ์ฝ”๋“œ๊ฐ€ ์กด์žฌํ•œ๋‹ค.

 

๋””์ž์ธ ์†Œ์Šค ์ฝ”๋“œ๋Š” ์šฐ๋ฆฌ๊ฐ€ ๋ฒ„ํŠผ์˜ ์ด๋ฆ„์€ ๋ฌด์—‡์œผ๋กœ ํ• ์ง€, ํฌ๊ธฐ๋ฅผ ์ฃผ๋Š”์ง€, ์–ด๋–ค ์ด๋ฒคํŠธ๋ฅผ ์„ค์ •ํ•  ๊ฒƒ์ธ์ง€๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ณณ์ด๊ณ  ์†Œ์Šค ์ฝ”๋“œ๋Š” ์ด๋ฒคํŠธ์— ๋Œ€ํ•œ ๋™์ž‘์„ ์ง์ ‘ ์ž‘์„ฑํ•จ์œผ๋กœ์จ ๋™์ž‘ํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ์†Œ์Šค ์ฝ”๋“œ์ด๋‹ค.

 

 

ํ”„๋กœํผํ‹ฐ ๋ชฉ๋ก

์ปจํŠธ๋กค : (Name) ํ”„๋กœํผํ‹ฐ ๊ฐ’
Form : Form1 Text DisplayStartDateApp
Button : button1 Text Display

 

 

์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ๊ธฐ

 

์ปจํŠธ๋กค : (Name) ์ด๋ฒคํŠธ ๋ฉ”์†Œ๋“œ๋ช…
Button : button1 Click Button1_Click()

 

๋จผ์ € ํ”„๋กœํผํ‹ฐ ๋ชฉ๋ก์„ ๋ณด์ž. ์ฒซ๋ฒˆ์งธ ์ค„์˜ Form์ด๋ผ๋Š” ์ปจํŠธ๋กค์— Form1์ด๋ผ๋Š” ์ด๋ฆ„์ด ์ƒ์„ฑ์ด ๋˜์–ด์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ”„๋กœํผํ‹ฐ๋ฅผ Text๋กœ ์ค€๋‹ค๋ฉด ์ด Form1์˜ ์ด๋ฆ„์ด ๊ฐ’์— ์œ„์น˜ํ•œ DisplayStartDateApp๋กœ ๋ฐ”๋€Œ๊ฒŒ ๋œ๋‹ค. ๋ฐ‘์— ๋ฒ„ํŠผ1๋˜ํ•œ ๋งˆ์ฐฌ๊ฐ€์ง€์ด๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ์ด๋ฒคํŠธ์ฒ˜๋ฆฌ๊ธฐ๋ฅผ ๋ณด๋ฉด button1์— ์ด๋ฒคํŠธ Click์ด ๊ฑธ๋ ค์žˆ์„ ๋•Œ ํด๋ฆญํ•  ์ˆ˜ ์žˆ๊ฒŒ ํผ์—์„œ ์ง€์›ํ•  ๊ฒƒ์ด๋‹ค. ํด๋ฆญํ–ˆ์„ ๋•Œ ๋ฌด์—‡์ด ์ผ์–ด๋‚ ์ง€๋Š” ์šฐ๋ฆฌ๊ฐ€ ์ง์ ‘ ์ž‘์„ฑํ•˜๋ฉด ๋œ๋‹ค.

 

 

์‹ค์Šต์œผ๋กœ ๋„˜์–ด๊ฐ€๋ณด์ž.

์šฐ๋ฆฌ๋Š” Load/Closed ์ด๋ฒคํŠธ์™€ Closing ์ด๋ฒคํŠธ๋ฅผ ์•Œ์•„ ๋ณผ ๊ฒƒ์ด๋‹ค.

 

1) Load/Closed ์ด๋ฒคํŠธ

 

๋จผ์ € ํผ์„ ํ”„๋กœ์ ํŠธ๋กœ ๋งŒ๋“  ํ›„ ํผ์„ ํด๋ฆญํ•œ ํ›„ ์ด๋ฒคํŠธ์— ๋“ค์–ด๊ฐ€ load๋ฅผ ํด๋ฆญํ•œ๋‹ค.

 

 

๊ทธ๋Ÿฌ๋ฉด MessageBox.Show๋ฅผ ์ œ์™ธํ•œ ์†Œ์Šค๋“ค์ด ์žˆ๋Š” ๊ณณ์œผ๋กœ ์ด๋™๋˜๋Š”๋ฐ ์ด๋•Œ ํ•„์ž๋Š” loadํ•จ์ˆ˜์— loadํ•  ๋•Œ ๋ฉ”์„ธ์ง€๋ฐ•์Šค๊ฐ€ ๋œจ๊ฒŒ ์„ค์ •ํ•ด ๋†“์•˜๋‹ค.

 

๋‘๋ฒˆ์งธ๋กœ Form์„ ๋‹ซ์„ ๋•Œ ๋‹ซ๋Š” ๋ฉ”์„ธ์ง€ ์ฐฝ์ด ๋œจ๊ฒŒํ•˜๋Š” ์ด๋ฒคํŠธ๋ฅผ ํ•˜๋ ค๋ฉด ์–ด๋–ค ์ด๋ฒคํŠธ๋ฅผ ์ฃผ์–ด์•ผ ํ• ๊นŒ?

FormClosed์ด๋‹ค. ์ด๋ฅผ ํด๋ฆญํ•˜๋ฉด 

 

 

 

์™€ ๊ฐ™์€ ๊ฒƒ์ด ์†Œ์Šค ์ฝ”๋“œ์— ์ž…๋ ฅ๋˜๋Š”๋ฐ ์ด ํ•จ์ˆ˜์•ˆ์— MessageBox.Show("This form is closed");๋ฅผ ๋„ฃ์œผ๋ฉด ๋‹ซํž ๋•Œ ๋ฉ”์„ธ์ง€๋ฐ•์Šค๊ฐ€ ์ƒ๊ธฐ๋ฉด์„œ ๋‹ซํž ๊ฒƒ์ด๋‹ค.

 

๋‹ค์Œ์€ FormClosing ์ด๋ฒคํŠธ์ด๋‹ค.

 

FormClosing ์ด๋ฒคํŠธ๋Š” ๋‹ซํžˆ๋ฉด์„œ ๋™์ž‘ํ•˜๋Š” ์ด๋ฒคํŠธ์ด๋‹ค.

 

์–ด๋– ํ•œ ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ๋•Œ ์ด ์ฐฝ์„ ๋‹ซ์œผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ๋ผ๋Š” ํ‘œ์‹œ๊ฐ€ ๋œจ๊ณ  ์˜ˆ๋ฅผ ๋ˆ„๋ฅด๋ฉด ํผ ์ „์ฒด๊ฐ€ ๋‹ซํžˆ๊ณ  ์•„๋‹ˆ์˜ค๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋ฒ„ํŠผ์ฐฝ๋งŒ ๊บผ์ง€๋Š” ๊ฒƒ์„ ์ž‘์„ฑํ•ด๋ณด์ž.

 

๋จผ์ € close๋ผ๋Š” ๋ฒ„ํŠผ์„ ๋งŒ๋“  ๋’ค, close()ํ•จ์ˆ˜๋ฅผ ์ค€๋‹ค. ๊ทธ๋ฆฌ๊ณ  Form1์— FormClosing ์ด๋ฒคํŠธ๋ฅผ ์ค€๋‹ค. ๊ทธ๋ ‡๊ฒŒ ๋˜๋ฉด ๋ฒ„ํŠผ ํด๋ฆญํ•˜๋ฉด ์›๋ž˜๋Š” Form์ด ๋‹ซํžˆ๊ฒŒ ๋˜๋Š”๋ฐ FormClosingํ•จ์ˆ˜๊ฐ€ ์‹คํ–‰๋˜๊ฒŒ ๋˜๋ฏ€๋กœ ์•„์ง ๋‹ซํžˆ์ง€ ์•Š์€์ฑ„๋กœ FormClosingํ•จ์ˆ˜๊ฐ€ ์—ด๋ฆฌ๊ฒŒ ๋œ๋‹ค. ํ•„์ž๊ฐ€ ์ž‘์„ฑํ•œ FormClosing ํ•จ์ˆ˜๋Š” ์ด๋ ‡๋‹ค.

 

 

FormClosing ํ•จ์ˆ˜์— MessageBox๋กœ ์ฐฝ์„ ๋‹ซ์„๊ฑด์ง€ ์•„๋‹Œ์ง€๋ฅผ ์ค€๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ๋’ค์—๋Š” Prompt๋Š” ์ฐฝ์ด๋ฆ„, MessageBoxButtons๋Š” ์ ํž ๋ฒ„ํŠผ์˜ ๊ฐฏ์ˆ˜ ๋ฐ ํŠน์„ฑ, MessageBoxIcon์€ ์งˆ๋ฌธ์˜ ํ˜•์‹์œผ๋กœ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒŒ DialogResult.Yes ์šฐ๋ฆฌ๊ฐ€ ์„ ํƒํ•œ๊ฒŒ Yes๋ผ๋ฉด e.Cancel = false. // form์„ ์ทจ์†Œํ•˜์ง€ ์•Š๋Š”๋‹ค --> ์ด๋–„ ์ด ์˜๋ฏธ๋Š” ํผ์„ ๋‹ซ์ง€ ์•Š๋Š”๋‹ค๊ฐ€ ์•„๋‹Œ, ์ทจ์†Œํ•˜์ง€ ์•Š๋Š”๋‹ค์ด๋‹ค. ์šฐ๋ฆฌ๋Š” Close๋ฅผ ํ†ตํ•ด ํผ์„ ๋‹ซ์œผ๋ ค๊ณ  ํ–ˆ์œผ๋ฏ€๋กœ ์ด ํ–‰์œ„๋ฅผ ์ทจ์†Œํ•˜์ง€ ์•Š์œผ๋ฉด ํผ์ด ๋‹ซํžŒ๋‹ค๊ฐ€ ๋œ๋‹ค. else ๋˜ํ•œ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ž‘์„ฑํ•ด์ฃผ๋ฉด ๋œ๋‹ค.