22-4.¸ñ·ÏÀÇ ¼±ÅÃ

22-4-1.¸®½ºÆ® ¹Ú½º

¸®½ºÆ® ¹Ú½º¿Í ÄÞº¸ ¹Ú½º´Â ¼±Åà °¡´ÉÇÑ ¸ñ·Ï Áß Çϳª¸¦ ¼±ÅÃÇÏ´Â ÄÁÆ®·ÑÀÌ´Ù. ´Ù¼öÀÇ ¸ñ·ÏÀ» Ç¥½ÃÇÒ ¶§ ¸®½ºÆ® ¹Ú½º°¡ ÀϹÝÀûÀ¸·Î »ç¿ëµÈ´Ù.

ListControl Ŭ·¡½º´Â ¸®½ºÆ® ¹Ú½º¿Í ÄÞº¸ ¹Ú½ºÀÇ °øÅëÀûÀÎ ±â´ÉÀ» Á¦°øÇÏ´Â Ãß»ó Ŭ·¡½ºÀε¥ ÁÖ·Î µ¥ÀÌÅÍ ¹ÙÀεù¿¡ °ü·ÃµÈ ±â´ÉÀ» Á¦°øÇÑ´Ù. ListBoxÀÇ ÁÖ¿ä ÇÁ·ÎÆÛƼ´Â ´ÙÀ½°ú °°´Ù.

 

ÇÁ·ÎÆÛƼ

ŸÀÔ

¼³¸í

Items

ObjectCollection ¨Þ

¸®½ºÆ® ¹Ú½ºÀÇ Ç׸ñ ¸ñ·ÏÀ̸ç ÀÌ ÇÁ·ÎÆÛƼ¸¦ ÅëÇØ Ç׸ñÀÇ ÁýÇÕÀ» °ü¸®ÇÑ´Ù. Ç׸ñÀ» Ãß°¡, »èÁ¦ÇÏ°í °³¼ö¸¦ ±¸ÇÑ´Ù.

MultiColumn

bool

Ç׸ñÀ» ¿©·¯ ¿­·Î Ç¥½ÃÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÑ´Ù. µðÆúÆ®´Â false´Ù.

ColumnWidth

int

¿©·¯ ¿­·Î Ç¥½ÃÇÒ ¶§ ¿­ÀÇ ³Êºñ¸¦ ÁöÁ¤ÇÑ´Ù.

Sorted

bool

Ç׸ñÀ» Á¤·ÄÇÏ¿© Ç¥½ÃÇÒ °ÍÀÎÁö ÁöÁ¤ÇÑ´Ù. µðÆúÆ®´Â falseÀÌ´Ù. ÀÌ ÇÁ·ÎÆÛƼ°¡ trueÀ̸é Ãß°¡µÈ Ç׸ñÀÌ »çÀü¼øÀ¸·Î Á¤·ÄµÇ¾î Ç¥½ÃµÈ´Ù.

TopIndex

int

Á¦ÀÏ À§ÂÊ¿¡ Ç¥½ÃµÈ Ç׸ñÀÇ À妽º¸¦ Á¶»çÇϰųª ¼³Á¤ÇÑ´Ù. º¸Åë 0¹ø° Ç׸ñÀÌ ¸ñ·ÏÀÇ Á¦ÀÏ À§¿¡ ÀÖÁö¸¸ ½ºÅ©·ÑµÇ¸é ±×·¸Áö ¾ÊÀ» ¼öµµ ÀÖ´Ù.

UseTabStops

bool

Ç׸ñ ³»ÀÇ ÅÇ ¹®ÀÚ¸¦ ÀνÄÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÑ´Ù.

DrawMode

DrawMode ¨â

Ç׸ñ ±×¸®±â ¸ðµå¸¦ ÁöÁ¤ÇÑ´Ù. µðÆúÆ®´Â NormalÀÌÁö¸¸ OwnerDrawFixed, OwnerDrawVariableÀ» ¼±ÅÃÇϸé Ç׸ñÀ» Á÷Á¢ ±×¸± ¼ö ÀÖ´Ù.

IntegralHeight

bool

Ç׸ñÀÇ ÀϺκи¸ º¸ÀÌ´Â °ÍÀ» Çã¶ôÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÑ´Ù. µðÆúÆ®´Â falseÀÌ¸ç ¸®½ºÆ® ¹Ú½ºÀÇ ³ôÀ̸¦ Ç׸ñÀÇ ¹è¼ö·Î ¸ÂÃãÀ¸·Î¼­ ÀϺθ¸ º¸ÀÌÁö ¾Êµµ·Ï ÇÑ´Ù. Á¤È®ÇÑ ³ôÀ̸¦ À¯ÁöÇÏ·Á¸é ÀÌ ÇÁ·ÎÆÛƼ¸¦ false·Î º¯°æÇÑ´Ù.

ItemHeight

int ¨â

Ç׸ñÀÇ ³ôÀ̸¦ Ç¥ÇöÇÑ´Ù. °¡º¯ ³ôÀÌÀÇ ¿À³Ê µå·Î¿ìÀÎ °æ¿ì ù ¹ø° Ç׸ñÀÇ ³ôÀ̸¸ Á¶»çÇÑ´Ù.

HorizontalScrollbar

bool

°¡·Î ½ºÅ©·Ñ ¸·´ëÀÇ Ç¥½Ã ¿©ºÎ¸¦ ÁöÁ¤ÇÑ´Ù.

ScrollAlwaysVisible

bool

¼¼·Î ½ºÅ©·Ñ ¸·´ë¸¦ Ç×»ó Ç¥½ÃÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÑ´Ù. µðÆúÆ®´Â falseÀ̸ç Ç׸ñÀÌ ¸®½ºÆ® ¹Ú½ºÀÇ ³ôÀ̺¸´Ù ¸¹À» ¶§¸¸ ¼¼·Î ½ºÅ©·Ñ ¹Ù°¡ ³ªÅ¸³­´Ù.

SelectedIndex

int

¼±ÅÃµÈ Ç׸ñÀÇ À妽ºÀÌ´Ù.

SelectedIndices

SelectedIndexCollection ¨Þ

¼±ÅÃµÈ Ç׸ñÀÇ À妽º ¹è¿­ÀÌ´Ù. ´ÙÁß ¼±ÅÃÀÌ °¡´ÉÇÒ ¶§ ÀÌ ÇÁ·ÎÆÛƼ·Î Ç׸ñÀÇ ¹è¿­À» Á¶»çÇÑ´Ù.

SelectedItem

Object

¼±ÅÃµÈ Ç׸ñÀÌ´Ù.

SelectedItems

SelectedObjectCollection ¨Þ

¼±ÅÃµÈ Ç׸ñÀÇ ¹è¿­ÀÌ´Ù.

SelectionMode

SelectionMode

Ç׸ñÀ» ¼±ÅÃÇÏ´Â ¹æ¹ýÀ» ÁöÁ¤ÇÑ´Ù. µðÆúÆ®´Â OneÀ̸ç Çϳª¸¸ ¼±ÅÃÇÒ ¼ö ÀÖÀ¸³ª MultiSimple, MultiExtended·Î º¯°æÇÏ¿© º¹¼ö °³¸¦ ¼±ÅÃÇÒ ¼ö ÀÖÀ¸¸ç NoneÀ¸·Î º¯°æÇÏ¸é ¼±ÅÃÀ» ±ÝÁöÇÑ´Ù.

Text

string

ÇöÀç ¼±ÅÃµÈ Ç׸ñÀÇ ÅؽºÆ®ÀÌ´Ù.

CustomTabOffsets

IntegerCollection ¨Þ

»ç¿ëÀÚ Á¤ÀÇ ÅÇ Ä÷º¼ÇÀÌ´Ù.

UseCustomTabOffsets

bool

»ç¿ëÀÚ Á¤ÀÇ ÅÇ ÁöÁ¤À» »ç¿ëÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÑ´Ù.

 

Ç׸ñÀÇ ¼±ÅÃÀÌ º¯°æµÉ ¶§ SelectedIndexChanged À̺¥Æ®°¡ ¹ß»ýÇϸç ÀÌ À̺¥Æ®¿¡¼­ Ç׸ñÀÌ ¹Ù²ð ¶§¸¶´Ù ÇÒ ÀÛ¾÷À» ó¸®ÇÑ´Ù. »õ ÇÁ·ÎÁ§Æ®¸¦ ¸¸µé°í ºó Æû¿¡ ¸®½ºÆ® ¹Ú½º¸¦ Çϳª ¹èÄ¡ÇÑ´Ù. ¼Ó¼ºÃ¢¿¡¼­ Items ÇÁ·ÎÆÛƼÀÇ ... ¹öÆ°À» ´©¸£¸é Ç׸ñÀ» Ãß°¡ÇÏ´Â ´ëÈ­»óÀÚ°¡ ³ªÅ¸³­´Ù. ¾Æ´Ï¸é ÄÁÆ®·Ñ À§ÂÊ¿¡ ÀÖ´Â Á¶±×¸¸ »ï°¢Çü ¸ð¾çÀÇ ½º¸¶Æ® ÅÂ±× ¹öÆ°À» ´­·¯ Ç׸ñ ÆíÁýÀ» ¼±ÅÃÇÑ´Ù.

½º¸¶Æ® ű״ ÄÁÆ®·Ñ¿¡ ´ëÇÑ ÁÖ¿ä ÀÛ¾÷ ¸ñ·ÏÀ» Ç¥½ÃÇÑ´Ù. °£´ÜÇÑ ÄÁÆ®·Ñ¿¡´Â º° ±â´ÉÀÌ ¾øÁö¸¸ ¸Þ´º³ª ¸®½ºÆ® ¹Ú½º°°Àº º¹ÀâÇÑ ÄÁÆ®·Ñ¿¡´Â ÀÚÁÖ ¼öÇàÇÏ´Â ÀÛ¾÷ ¸ñ·ÏÀÌ Á¤¸®µÇ¾î ÀÖ´Ù. Ç׸ñ ÆíÁýÀ» ¼±ÅÃÇϸé Ä÷º¼Ç ÆíÁý±â ´ëÈ­»óÀÚ°¡ ³ªÅ¸³ª´Âµ¥ ¿©±â¿¡ Ç׸ñÀ» ÀÔ·ÂÇÑ´Ù.

¹®ÀÚ¿­·Î µÈ Ç׸ñÀ» µðÀÚÀΠŸÀÓ¿¡ ¹Ì¸® ÀÔ·ÂÇØ ³õÀ» ¼ö ÀÖ´Ù. Ç׸ñÀ» ÀÔ·ÂÇÑ ÈÄ ½ÇÇàÇÏ¸é ¸®½ºÆ® ¹Ú½º¿¡ Ç׸ñÀÌ ³ªÅ¸³­´Ù. ´ÙÀ½Àº ¸®½ºÆ® ¹Ú½ºÀÇ SelectedItemChanged À̺¥Æ® Çڵ鷯¸¦ ÀÛ¼ºÇÏ¿© Ç׸ñÀÌ ¹Ù²ð ¶§¸¶´Ù ¼±ÅÃµÈ Ç׸ñ ¹®ÀÚ¿­À» Àоî ÆûÀÇ Å¸ÀÌƲ ¹Ù¿¡ Ãâ·ÂÇØ º¸ÀÚ.

 

ListBoxTest

using System; ~ using System.Windows.Forms;

 

namespace ListBoxTest {

             public partial class Form1 : Form {

                           public Form1() {

                                        InitializeComponent();

                           }

 

                           private void listBox1_SelectedIndexChanged(object sender, EventArgs e) {

                                        Text = listBox1.Text;

                           }

             }

}

 

¸®½ºÆ® ¹Ú½ºÀÇ Text ÇÁ·ÎÆÛƼ¸¦ ÀÐÀ¸¸é ¼±ÅÃµÈ Ç׸ñÀÇ ¹®ÀÚ¿­À» ¹Ù·Î Á¶»çÇÒ ¼ö ÀÖ´Ù. ¼±ÅÃÇÑ Ç׸ñÀ» È®ÀÎÇϱâ À§ÇØ ÆûÀÇ Text ÇÁ·ÎÆÛƼ¿¡ ´ëÀÔÇß´Ù.

½ÇÇàÁß¿¡ Ç׸ñÀ» ÆíÁýÇÒ ¶§´Â Items ÇÁ·ÎÆÛƼÀÇ Å¸ÀÔÀÎ ObjectCollection Ŭ·¡½ºÀÇ ¸Þ¼­µå¸¦ È£ÃâÇÑ´Ù. Add, AddRange, Remove, RemoveAt, Insert, Clear µîÀÇ ¸Þ¼­µå°¡ Á¤ÀǵǾî ÀÖ°í Ç׸ñÀÇ ÃÑ °³¼ö¸¦ Á¶»çÇÏ´Â Count ÇÁ·ÎÆÛƼµµ Á¤ÀǵǾî ÀÖ´Ù. ´ÙÀ½ ¿¹Á¦´Â ½ÇÇàÁß¿¡ ¸®½ºÆ® ¹Ú½ºÀÇ Ç׸ñÀ» Ãß°¡ ¹× Á¦°ÅÇÑ´Ù.

 

ListBoxItem

using System; ~ using System.Windows.Forms;

 

namespace ListBoxItem {

             public partial class Form1 : Form {

                           public Form1() {

                                        InitializeComponent();

                           }

 

                           // Ç׸ñ Ãß°¡

                           private void button1_Click(object sender, EventArgs e) {

                                        string Item = textBox1.Text;

                                        listBox1.Items.Add(Item);

                           }

 

                           // Ç׸ñ Á¦°Å

                           private void button2_Click(object sender, EventArgs e) {

                                        int index = listBox1.SelectedIndex;

                                        if (index != -1) {

                                                     listBox1.Items.RemoveAt(index);

                                        }

                           }

 

                           // ¸ðµÎ Á¦°Å

                           private void button3_Click(object sender, EventArgs e) {

                                        listBox1.Items.Clear();

                           }

             }

}

 

¸®½ºÆ® ¹Ú½º¿Í ÅؽºÆ® ¹Ú½º, ¹öÆ°À» ¹èÄ¡ÇØ ³õ°í ÀÌ ÄÁÆ®·Ñ·Î ¸®½ºÆ® ¹Ú½ºÀÇ Ç׸ñÀ» °ü¸®ÇÑ´Ù. Ãß°¡ ¹öÆ°À» ´©¸£¸é ÅؽºÆ® ¹Ú½ºÀÇ ¹®ÀÚ¿­À» ¸®½ºÆ® ¹Ú½ºÀÇ Ç׸ñ ¸ñ·Ï¿¡ Ãß°¡ÇÏ°í Á¦°Å ¹öÆ°À» ´©¸£¸é ¼±ÅÃµÈ Ç׸ñÀ» Á¦°ÅÇÑ´Ù.

Items ÇÁ·ÎÆÛƼÀÇ Add, RemoveAt °°Àº ¸Þ¼­µå¸¸ È£ÃâÇÏ¸é µÈ´Ù. µðÀÚÀΠŸÀÓ¿¡ Ä÷º¼Ç ÆíÁý±â·Î ÀÔ·ÂÇÑ Ç׸ñµµ ÀÌ·± ¹æ½ÄÀ¸·Î ½ÇÇà Á÷ÈÄ¿¡ ¸®½ºÆ® ¹Ú½º¿¡ Ãß°¡µÈ °ÍÀÌ´Ù.

22-4-2.¿À³Ê µå·Î¿ì

¸®½ºÆ® ¹Ú½º´Â ½º½º·Î À̺¥Æ®¸¦ ó¸®ÇÒ ¼ö ÀÖ´Â ÄÁÆ®·ÑÀÌ¸ç ¸ñ·Ï¸¸ Á¦°øÇϸé Ç׸ñÀ» ±×¸®´Â °Íµµ Á÷Á¢ ó¸®ÇÑ´Ù. Ä÷º¼Ç ÆíÁý±â¿¡¼­ Ãß°¡ÇÒ ¼ö ÀÖ´Â Ç׸ñÀº ¹®ÀÚ¿­ »ÓÀ̹ǷΠ¸®½ºÆ® ¹Ú½º°¡ Á÷Á¢ °ü¸®ÇÏ°í ±×¸± ¼ö ÀÖ´Â Ç׸ñµµ ¹®ÀÚ¿­»ÓÀÌ´Ù. ±×·¯³ª ¿À³Ê, Áï ºÎ¸ð°¡ Á÷Á¢ ±×¸®¸é ¹®ÀÚ¿­ »Ó¸¸ ¾Æ´Ï¶ó ±×·¡ÇÈÀ¸·Î µÈ ³»¿ë¹°À» ±×¸± ¼ö ÀÖ´Ù.

ÀÌ·± ½ÄÀ¸·Î ¿À³Ê°¡ Á÷Á¢ ±×¸®±â´Â ÄÁÆ®·ÑÀ» ¿À³Ê µå·Î¿ì(Owner Draw)¶ó°í ÇÑ´Ù. ¸®½ºÆ® ¹Ú½º»Ó¸¸ ¾Æ´Ï¶ó ´ëºÎºÐÀÇ ÄÁÆ®·ÑÀº DrawMode ÇÁ·ÎÆÛƼ·Î ¿À³Ê µå·Î¿ì ¹æ½ÄÀ» Áö¿øÇÑ´Ù. ÀÌ ÇÁ·ÎÆÛƼ°¡ NoneÀÌ ¾Æ´Ï¸é ºÎ¸ð°¡ Á÷Á¢ ³»¿ë¹°À» ±×¸± ¼ö ÀÖµµ·Ï DrawItem À̺¥Æ®¸¦ º¸³½´Ù. ¿À³Ê µå·Î¿ì´Â Ç׸ñÀÇ ³ôÀ̸¦ °áÁ¤ÇÏ´Â ¹æ½Ä¿¡ µû¶ó µÎ °¡Áö°¡ ÀÖ´Ù.

 

l OwnerDrawFixed : Ç׸ñÀÇ ³ôÀÌ°¡ ÀÏÁ¤ÇÏ´Ù. Ç׸ñÀÇ ³ôÀÌ´Â ItemHeight ÇÁ·ÎÆÛƼ·Î µü ÇÑ ¹ø¸¸ ÁöÁ¤ÇÏ¸é µÈ´Ù.

l OwnerDrawVariable : Ç׸ñÀÇ ³ôÀÌ°¡ °³º°ÀûÀ¸·Î ´Ù¸£´Ù. µû¶ó¼­ ÇÁ·ÎÆÛƼ·Î Ç׸ñÀÇ ³ôÀ̸¦ ÁöÁ¤ÇÒ ¼ö ¾øÀ¸¸ç °¢ Ç׸ñ¿¡ ´ëÇØ MeasureItem À̺¥Æ®·Î Áú¹®À» ÇÏ¿© ³ôÀ̸¦ °áÁ¤ÇÑ´Ù.

 

Ç׸ñÀ» ±×¸± ¶§´Â ºÎ¸ð¿¡°Ô DrawItem À̺¥Æ®°¡ Àü´ÞµÈ´Ù. ¸®½ºÆ® ¹Ú½º´Â ºÎ¸ð¿¡°Ô À̺¥Æ®¸¦ º¸³» ¾î¶² Ç׸ñÀ» ±×·Á ´Þ¶ó°í ºÎŹÇÑ´Ù. Àμö·Î DrawItemEventArgs °´Ã¼¸¦ Àü´ÞÇÏ¿© Ç׸ñÀ» ±×¸®´Âµ¥ ÇÊ¿äÇÑ Á¤º¸¸¦ ÇÁ·ÎÆÛƼ·Î Á¦°øÇÏ¸ç ¸Þ¼­µåµµ Æ÷ÇԵǾî ÀÖ´Ù.

 

ÇÁ·ÎÆÛƼ

ŸÀÔ

¼³¸í

Graphics

Graphics ¨Þ

±×¸®±â¿¡ »ç¿ëÇÒ Graphics °´Ã¼ÀÌ´Ù. º°µµÀÇ Graphics °´Ã¼¸¦ »ý¼ºÇÒ ÇÊ¿ä ¾øÀÌ Àμö·Î Àü´ÞµÈ °´Ã¼¸¦ »ç¿ëÇÏ¸é µÈ´Ù.

Bounds

Rectangle ¨Þ

Ç׸ñÀÇ °æ°è¸¦ ³ªÅ¸³»´Â »ç°¢¿µ¿ªÀÌ´Ù. Ç׸ñÀº ÀÌ °æ°è ³»¿¡ ±×¸®¸é µÈ´Ù.

Font

Font ¨Þ

Ç׸ñÀ» ±×¸®´Âµ¥ »ç¿ëÇÒ ±Û²ÃÀÌ´Ù.

ForeColor

Color ¨Þ

Ç׸ñÀÇ Àü°æ»öÀÌ´Ù. Ç׸ñÀÌ ¼±ÅõǾî ÀÖÀ¸¸é HighlightText°¡ µÇ°í ±×·¸Áö ¾ÊÀ¸¸é WindowText°¡ µÈ´Ù.

BackColor

Color ¨Þ

Ç׸ñÀÇ ¹è°æ»öÀÌ´Ù. Ç׸ñÀÇ ¼±Åà ¿©ºÎ¿¡ µû¶ó »ö»óÀÌ °áÁ¤µÈ´Ù.

Index

int ¨Þ

±×¸± Ç׸ñÀÇ À妽ºÀÌ´Ù.

State

DrawItemState ¨Þ

Ç׸ñÀÇ ÇöÀç »óŸ¦ ³ªÅ¸³»´Â ºñÆ® ÇʵåÀÌ´Ù. DrawItemState ¿­°ÅÇüÀ̸ç Selected, Focus, Grayed, Disabled, Checked, None µîÀÇ ºñÆ®°ªÀÇ Á¶ÇÕÀ¸·Î Ç¥ÇöÇÑ´Ù.

 

ºÎ¸ð´Â Àμö·Î Àü´ÞµÈ Á¤º¸¸¦ ÂüÁ¶ÇÏ¿© Ç׸ñÀ» ±×¸°´Ù. À妽º¿¡ µû¶ó ±×¸± ´ë»óÀ» °áÁ¤ÇÏ°í »óÅ¿¡ µû¶ó ¹è°æ»ö, Àü°æ»ö, Ç׸ñÀÇ ¸ð¾çÀ» ±×¸°´Ù. State ÇÁ·ÎÆÛƼ´Â Ç׸ñÀÇ »óÅÂÀε¥ ¼±Åà ¿©ºÎ¿¡ µû¶ó Ç׸ñÀÇ »ö»óÀÌ ´Þ¶óÁö¸ç Æ÷Ä¿½º ¿©ºÎ¿¡ µû¶ó Æ÷Ä¿½º »ç°¢ÇüÀ» ±×¸®±âµµ ÇÑ´Ù. ¸®½ºÆ® ¹Ú½ºÀÇ Ç׸ñÀº »ç¿ë ±ÝÁöµÉ ¼ö ¾øÁö¸¸ »ç¿ë ±ÝÁö »óÅ°¡ ÀÖ´Â ÄÁÆ®·Ñ(¿¹:¸Þ´º)Àº È帴ÇÏ°Ô ±×¸°´Ù.

DrawItemEventArgs Ŭ·¡½º¿¡ State, Àü°æ»ö, ¹è°æ»ö µîÀ» ÂüÁ¶ÇÏ¿© ¹è°æ°ú Æ÷Ä¿½º »ç°¢ÇüÀ» ±×¸®´Â DrawBackground, DrawFocusRectangle ¸Þ¼­µå°¡ Á¦°øµÈ´Ù. ´ÙÀ½ ¿¹Á¦´Â ¼±ÀÇ ¸ð¾çÀ» ¿À³Ê µå·Î¿ì ¸®½ºÆ® ¹Ú½º·Î ¼±ÅÃÇÑ´Ù.

 

OwnerDrawList

using System; ~ using System.Windows.Forms;

using System.Drawing.Drawing2D;

 

namespace OwnerDrawList {

             public partial class Form1 : Form {

                           private DashStyle Dash = DashStyle.Solid;

                           public Form1() {

                                        InitializeComponent();

                           }

 

                           private void Form1_Paint(object sender, PaintEventArgs e) {

                                        Pen P = new Pen(Color.Black, 2);

                                        P.DashStyle = Dash;

                                        e.Graphics.DrawRectangle(P, 200, 20, 140, 140);

                           }

 

                           private void listBox1_DrawItem(object sender, DrawItemEventArgs e) {

                                        Pen P = new Pen(Color.Black, 2);

                                        P.DashStyle = (DashStyle)e.Index;

                                        e.DrawBackground();

                                        P.Color = e.ForeColor;

                                        e.Graphics.DrawLine(P, e.Bounds.Left + 10, e.Bounds.Top + 10,

                                                     e.Bounds.Right - 10, e.Bounds.Top + 10);

                                        e.DrawFocusRectangle();

                           }

 

                           private void listBox1_SelectedIndexChanged(object sender, EventArgs e) {

                                        ListBox L = (ListBox)sender;

                                        Dash = (DashStyle)L.SelectedIndex;

                                        Invalidate();

                           }

             }

}

 

DashStyle ŸÀÔÀÇ Dash Çʵ带 ¼±¾ðÇÏ°í Paint À̺¥Æ®¿¡¼­ ÀÌ ½ºÅ¸ÀÏ·Î ÆæÀ» ¸¸µé¾î »ç°¢ÇüÀ» ±×¸°´Ù. µðÆúÆ®´Â Solid Áï, ½Ç¼±ÀÌÁö¸¸ Dash ÇʵåÀÇ °ªÀ» º¯°æÇÏ¸é ¿Ü°û¼± ¸ð¾çÀÌ ´Þ¶óÁø´Ù. »ç¿ëÀÚ°¡ ÆæÀÇ ¸ð¾çÀ» ¼±ÅÃÇϵµ·Ï ¿À³Ê µå·Î¿ì ¸®½ºÆ® ¹Ú½º¸¦ »ç¿ëÇß´Ù. Á¡¼±, ½Ç¼±, ¼â¼± µûÀ§ÀÇ À̸§º¸´Ù´Â ½ÇÁ¦ ¸ð¾çÀ» º¸¿©ÁÖ´Â °ÍÀÌ Á÷°üÀûÀÌ´Ù.

Æû¿¡ ¸®½ºÆ® ¹Ú½º¸¦ ¹èÄ¡ÇÏ°í DrawMode¸¦ OwnerDrawFixed·Î ¼±ÅÃÇÏ¿© ºÎ¸ð ÆûÀÌ ±×¸®±â¸¦ ÇÑ´Ù´Â °Í°ú Ç׸ñÀÇ ³ôÀÌ°¡ ÀÏÁ¤ÇÏ´Ù´Â °ÍÀ» ¾Ë¸°´Ù. ItemHeight ÇÁ·ÎÆÛƼ¿¡ 20À» ´ëÀÔÇÏ¿© °¢ Ç׸ñÀº 20 Çȼ¿ ³ôÀ̸¦ °¡Áöµµ·Ï ÁöÁ¤ÇÑ´Ù. ±×¸®°í ¸®½ºÆ® ¹Ú½ºÀÇ Items ÇÁ·ÎÆÛƼ¿¡ ¼±ÀÇ ¸ð¾ç¿¡ ÇØ´çÇÏ´Â ¹®ÀÚ¿­ Ç׸ñÀ» µî·ÏÇÑ´Ù.

¿À³Ê µå·Î¿ì ¸®½ºÆ® ¹Ú½º´Â ¹®ÀÚ¿­·Î Ç׸ñÀ» Ãâ·ÂÇÏÁö ¾Ê¾Æ Items ÇÁ·ÎÆÛƼÀÇ ¹®ÀÚ¿­Àº ¾Æ¹« Àǹ̰¡ ¾ø´Ù. ´Ù¸¸ Ç׸ñÀÇ °³¼ö°¡ ´Ù¼¸ °³¶ó´Â °ÍÀ» ¹àÈú »ÓÀε¥ ¸®½ºÆ® ¹Ú½º´Â ÀÌ °³¼ö¸¸Å­ ºÎ¸ð¿¡°Ô DrawItem À̺¥Æ®¸¦ º¸³» ±×¸®±â ¿äûÇÑ´Ù. ÇÊ¿äÇÑ °³¼ö¸¸Å­ µî·ÏÇØ ³õ±â¸¸ ÇÏ¸é µÈ´Ù.

ÆûÀº DrawItem À̺¥Æ®¸¦ ¹Þ¾ÒÀ» ¶§ Àμö·Î Àü´ÞµÈ DrawItemEventArgs °´Ã¼¸¦ ÂüÁ¶ÇÏ¿© °¢ Ç׸ñÀ» ±×¸°´Ù. Ç׸ñÀÇ À妽º ¹øÈ£¸¦ DashStyle·Î ij½ºÆÃÇϸé Solid, Dash µîÀÇ Ææ ½ºÅ¸ÀÏÀ» Á¶»çÇÒ ¼ö ÀÖ´Ù. ¿­°ÅÇüÀº 0ºÎÅÍ ½ÃÀÛÇÏ´Â Á¤¼öÀ̹ǷΠÀ妽º¿Í ÆæÀÇ ½ºÅ¸ÀÏÀ» ÀϺη¯ ÀÏÄ¡½ÃÄÑ ³õ¾Ò´Ù. À妽º ¹øÈ£°¡ ÁöÁ¤ÇÏ´Â ´ë½Ã ½ºÅ¸ÀÏ·Î ÆæÀ» »ý¼ºÇÑ ÈÄ ¹è°æÀ» ±×¸®°í Àü°æ»öÀ¸·Î ¼±À» ±×¾ú´Ù.

DrawBackground, DrawFocusRectangle ¸Þ¼­µå´Â State ÇÁ·ÎÆÛƼ¸¦ ÂüÁ¶ÇÏ¿© Ç׸ñÀÇ »óÅ¿¡ ¸Â´Â ¹è°æ»ö°ú Æ÷Ä¿½º »ç°¢ÇüÀ» ±×¸°´Ù. SelectedIndexChanged À̺¥Æ®¿¡¼­ ¼±ÅÃµÈ Ç׸ñÀÇ À妽º¸¦ Dash¿¡ ´ëÀÔÇÏ°í ¹«È¿È­ÇÑ´Ù. Paint À̺¥Æ®´Â º¯°æµÈ Dash °ª´ë·Î ÆæÀ» ¸¸µç ÈÄ »ç°¢ÇüÀ» ´Ù½Ã ±×¸°´Ù. ÄÚµå´Â º¹ÀâÇÏÁö¸¸ ½ÇÁ¦ Àû¿ëµÉ ¼±ÀÇ ¸ð¾çÀ» º¸¸é¼­ ¼±ÅÃÇÒ ¼ö ÀÖ¾î Æí¸®ÇÏ´Ù.

 

ÀÌ ¿¹Á¦´Â Ç׸ñÀÇ À妽º¿Í ¼±ÀÇ ´ë½Ã ¿­°Å°ªÀÌ ÀÏÄ¡Çؼ­ Äڵ尡 ¾ÆÁÖ °£´ÜÇѵ¥ ±×·¸Áö ¾ÊÀ» °æ¿ì º°µµÀÇ ·è¾÷ ¹è¿­À» ÅëÇØ À妽º·ÎºÎÅÍ Àû¿ëÇÒ °ªÀ» ã¾Æ¾ß ÇÑ´Ù. °¡º¯ ³ôÀÌÀÇ ¿À³Ê µå·Î¿ì¸¦ ÇÁ·Î±×·¡¹ÖÇÏ´Â ¹æ¹ýµµ °ÅÀÇ À¯»çÇÏ´Ù. ´Ù¸¸ Ç׸ñº°·Î ³ôÀÌ°¡ Á¦°¢°¢À̾ MeasureItem À̺¥Æ®¿¡¼­ À妽º¿¡ µû¶ó ³ôÀ̸¦ °áÁ¤ÇÑ´Ù´Â Á¡ÀÌ ´Ù¸£´Ù.

22-4-3.ÄÞº¸ ¹Ú½º

ÄÞº¸ ¹Ú½º´Â ¸®½ºÆ® ¹Ú½º¿Í ÅؽºÆ® ¹Ú½º¸¦ °áÇÕÇÑ ÄÁÆ®·ÑÀÌ´Ù. Æò¼Ò¿¡´Â ÅؽºÆ® ¹Ú½ºÃ³·³ º¸ÀÌÁö¸¸ µå·Ó ´Ù¿îÀ» ÆîÄ¡¸é ¸®½ºÆ® ¹Ú½º°¡ ¿­·Á ¸ñ·Ï Áß Çϳª¸¦ °í¸¦ ¼ö ÀÖ´Ù. ¸ñ·Ï¿¡ ¾ø´Â °Íµµ ÅؽºÆ® ¹Ú½º¿¡ Á÷Á¢ ÀÔ·ÂÇØ ³ÖÀ» ¼ö ÀÖ°í ÇÊ¿äÇÒ ¶§¸¸ µå·Ó ´Ù¿îÀ» ÆîÄ¡¹Ç·Î ÀÚ¸®¸¦ Àû°Ô Â÷ÁöÇÑ´Ù. ±×·¯³ª µå·Ó ´Ù¿îÀ» ÆîÄ¡±â Àü¿¡´Â ¸ñ·ÏÀ» º¼ ¼ö ¾ø°í ¼±ÅÃÀ» º¯°æÇϱâ À§ÇØ µÎ ¹ø Ŭ¸¯ÇØ¾ß ÇÑ´Ù´Â Á¡Àº ºÒÆíÇÏ´Ù.

¸®½ºÆ® ¹Ú½º¿Í °ÅÀÇ °°Àº ¿ëµµ·Î »ç¿ëÇϸç ÅؽºÆ® ¹Ú½ºµµ Æ÷ÇÔÇÏ°í ÀÖ¾î ¸®½ºÆ® ¹Ú½º¿Í ÅؽºÆ® ¹Ú½ºÀÇ ÇÁ·ÎÆÛƼ¸¦ ¸ðµÎ °¡Áø´Ù. Items, ItemHeight, Sorted´Â ¸®½ºÆ® ¹Ú½ºÀÇ °ÍÀÌ°í Text, MaxLength´Â ÅؽºÆ® ¹Ú½ºÀÇ °ÍÀÌ´Ù. ÄÞº¸ ¹Ú½º¿¡¸¸ ÀÖ´Â ÇÁ·ÎÆÛƼµµ ¸î °¡Áö ÀÖ´Ù. DropDownStyleÀº µ¿ÀÛ ¹æ½ÄÀ» °áÁ¤Çϴµ¥ ´ÙÀ½ ¼Â Áß ÇϳªÀÇ °ªÀ» °¡Áø´Ù.

 

DropDownStyle

¼³¸í

DropDown

¸ñ·Ï¿¡¼­ °í¸£°Å³ª Á÷Á¢ ÀÔ·ÂÇÒ ¼ö ÀÖ´Ù. ÀÌ °ªÀÌ µðÆúÆ®ÀÌ´Ù.

DropDownList

¸ñ·Ï¿¡¼­ °í¸¦ ¼ö¸¸ ÀÖÀ¸¸ç Á÷Á¢ ÀÔ·ÂÇÒ ¼ö´Â ¾ø´Ù.

Simple

¸ñ·ÏÀÌ Ç×»ó ÆîÃÄÁ® ÀÖ´Ù.

 

DropDownWidth¿Í DropDownHeight ÇÁ·ÎÆÛƼ´Â È­»ìÇ¥ ¹öÆ°À» ´©¸¦ ¶§ ¾Æ·¡·Î ÆîÃÄÁö´Â µå·Ó ´Ù¿îÀÇ Æø°ú ³ôÀ̸¦ ÁöÁ¤ÇÑ´Ù. µå·Ó ´Ù¿îÀÇ µðÆúÆ® ÆøÀº ÄÞº¸ ¹Ú½ºÀÇ Æø°ú °°µÇ Ç׸ñÀÌ ±æ¸é ÄÞº¸ ¹Ú½ºº¸´Ù ´õ ³Ð°Ô ¼³Á¤ÇÒ ¼öµµ ÀÖ´Ù.

 

µå·Ó ´Ù¿îÀÇ ³ôÀÌ´Â ÇѲ¨¹ø¿¡ ¸î °³ÀÇ Ç׸ñÀ» º¼ ¼ö Àִ°¡¸¦ °áÁ¤Çϴµ¥ ÀÌ ³ôÀÌ°¡ ³Ê¹« ³·À¸¸é ½ºÅ©·ÑÇØ¾ß ¾Æ·¡ÂÊ Ç׸ñÀ» ¼±ÅÃÇÒ ¼ö ÀÖ¾î ºÒÆíÇÏ´Ù. ´ÙÀ½ ¿¹Á¦´Â ¼¼ °¡Áö ½ºÅ¸ÀÏÀÇ ÄÞº¸ ¹Ú½º¸¦ ¸¸µé°í Å×½ºÆ®ÇÑ´Ù.

 

ComboBoxTest

using System; ~ using System.Windows.Forms;

 

namespace ComboBoxTest {

             public partial class Form1 : Form {

                           public Form1() {

                                        InitializeComponent();

                           }

 

                           private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) {

                                        Text = comboBox1.Text;

                           }

 

                           private void comboBox1_TextChanged(object sender, EventArgs e) {

                                        Text = comboBox1.Text;

                           }

             }

}

 

Ưº°ÇÑ ÄÚµå´Â ¾ø°í ù ¹ø° ÄÞº¸ ¹Ú½ºÀÇ ¼±ÅÃÀÌ ¹Ù²ð ¶§ ÆûÀÇ Å¸ÀÌƲ ¹Ù¿¡ ¼±ÅÃµÈ Ç׸ñÀ» Ãâ·ÂÇÏ¿© È®Àθ¸ ÇÑ´Ù. ÄÞº¸ ¹Ú½º´Â À§ÂÊÀÇ ÅؽºÆ® ¹Ú½º¿¡ Á÷Á¢ ÀÔ·ÂÇÒ ¼ö ÀÖÀ¸¹Ç·Î TextChanged À̺¥Æ®µµ ó¸®ÇØ¾ß ÇÑ´Ù.

DropDown ½ºÅ¸ÀÏÀÇ Ã¹ ¹ø° ÄÞº¸ ¹Ú½º´Â Á÷Á¢ ÀÔ·ÂÇϰųª µå·Ó ´Ù¿îÀ» ÆîÃÄ ¸ñ·Ï¿¡¼­ ¼±ÅÃÇÑ´Ù. DropDownList ½ºÅ¸ÀÏÀÇ µÎ ¹ø° ÄÞº¸ ¹Ú½º´Â µå·Ó ´Ù¿î¿¡¼­ ¼±Åø¸ ÇÒ ¼ö ÀÖ°í Á÷Á¢ ÀÔ·ÂÀº ºÒ°¡´ÉÇÏ´Ù. ¸ñ·ÏÀÌ Á¦ÇѵǾî ÀÖ´Ù¸é DropDownList ½ºÅ¸ÀÏÀÇ ÄÞº¸ ¹Ú½º¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ÁÁ´Ù. Simple ½ºÅ¸ÀÏÀÇ ÄÞº¸ ¹Ú½º´Â Ç×»ó ÆîÃÄÁ® ¸ñ·ÏÀ» ¾ðÁ¦³ª º¼ ¼ö ÀÖ°í Á÷Á¢ ÀÔ·ÂÇÒ ¼öµµ ÀÖÁö¸¸ ÀÚ¸®¸¦ ³Ê¹« ¸¹ÀÌ Â÷ÁöÇÑ´Ù.

´ÙÀ½Àº ¸®½ºÆ® ¹Ú½ºÀÇ ¶Ç ´Ù¸¥ º¯ÇüÀΠüũµå ¸®½ºÆ® ¹Ú½º(CheckedListBox)¿¡ ´ëÇØ ¾Ë¾Æº¸ÀÚ. ListBox·ÎºÎÅÍ ÆÄ»ýµÇ¹Ç·Î ¸ðµç Ư¼ºÀÌ ¸®½ºÆ® ¹Ú½º¿Í À¯»çÇÏ´Ù. ´Ù¸¸ Ç׸ñÀÌ ´Ü¼øÇÑ ¹®ÀÚ¿­ÀÌ ¾Æ´Ï¶ó üũ ¹Ú½º¸¦ °¡Áö´Â ¿É¼ÇÀ̶ó´Â Á¡¸¸ ´Ù¸£´Ù. ¿É¼ÇÀÇ ¸ñ·ÏÀº Items ÇÁ·ÎÆÛƼÀÇ Ä÷º¼Ç ÆíÁý±â¸¦ ÅëÇØ ÀÔ·ÂÇÑ´Ù. °£´ÜÇÏ°Ô ¿¹Á¦¸¦ ¸¸µé¾î º¸ÀÚ.

 

CheckedListBoxTest

Items¿¡ ¿©·¯ °¡Áö ¿É¼ÇÀ» Ãß°¡ÇßÀ¸¸ç ÄÚµå´Â ÀÛ¼ºÇÏÁö ¾Ê¾Ò´Ù. ¿É¼ÇÀÌ ¸¹´Ù¸é üũ ¹Ú½º¸¦ ÀÏÀÏÀÌ ³ª¿­ÇÏ´Â °Íº¸´Ù üũµå ¸®½ºÆ® ¹Ú½º·Î ÇѲ¨¹ø¿¡ ÀԷ¹޴ °ÍÀÌ °£ÆíÇÏ´Ù. ¿É¼ÇÀÇ °³¼ö¿¡ Á¦ÇÑÀÌ ¾ø°í ½ºÅ©·Ñ±îÁö °¡´ÉÇØ ´ë·®ÀÇ ¿É¼ÇÀ» Àϸñ¿ä¿¬ÇÏ°Ô ÀÔ·ÂÇÒ ¼ö ÀÖ´Ù. ½ÇÇàÁß¿¡ Ç׸ñÀ» Ãß°¡Çϰųª »èÁ¦ÇÏ´Â °Íµµ °¡´ÉÇÏ´Ù.

CheckedItems ÇÁ·ÎÆÛƼ¸¦ ÀÐÀ¸¸é üũµÈ Ç׸ñÀÇ ¸ñ·ÏÀ» ±¸ÇÒ ¼ö ÀÖÀ¸¸ç CheckedIndices ÇÁ·ÎÆÛƼ´Â üũµÈ Ç׸ñÀÇ À妽º¸¦ ±¸ÇÑ´Ù. Get(Set)ItemChecked ¸Þ¼­µå·Î °³º° Ç׸ñÀÇ Ã¼Å© ¿©ºÎ¸¦ Á¶»çÇϰųª º¯°æÇÑ´Ù.

22-4-4.ÄÁÆ®·ÑÀÇ Ä÷º¼Ç

ÆûÀ̳ª ±×·ì ¹Ú½º, ÆгÎó·³ ´Ù¸¥ ÄÁÆ®·ÑÀ» ÀÚ½ÄÀ¸·Î °Å´À¸± ¼ö ÀÖ´Â ÄÁÆ®·ÑÀ» ÄÁÅ×À̳ʶó°í ÇÑ´Ù. ÄÁÅ×À̳ʴ ControlCollection ŸÀÔÀÇ Controls ÇÁ·ÎÆÛƼ·Î ¼Ò¼Ó ÄÁÆ®·ÑÀÇ ¸ñ·ÏÀ» À¯ÁöÇÏ°í °ü¸®ÇÑ´Ù. ControlCollection Ŭ·¡½º´Â ÄÁÆ®·ÑÀÇ ¹è¿­Àε¥ ¸ñ·ÏÀ» °ü¸®ÇÏ´Â ¸Þ¼­µå¿Í ÇÁ·ÎÆÛƼ°¡ Á¤ÀǵǾî ÀÖ´Ù. ´ÙÀ½ ¸Þ¼­µå´Â ÄÁÆ®·ÑÀ» Ãß°¡, Á¦°ÅÇÑ´Ù.

 

public virtual void Add (Control value)

public virtual void AddRange (Control[] controls)

public virtual void Remove (Control value)

public void RemoveAt (int index)

 

ÀÌ¿Ü¿¡µµ ÀÚ½Ä ÄÁÆ®·ÑÀ» °Ë»öÇϰųª ¿­°ÅÇÏ´Â ¸Þ¼­µåµµ Á¦°øÇÑ´Ù. ListBoxItem ¿¹Á¦ÀÇ µðÀÚÀ̳ʰ¡ ¸¸µç ¼Ò½º¸¦ º¸¸é ´ÙÀ½°ú °°Àº Äڵ带 º¼ ¼ö ÀÖ´Ù.

 

this.Controls.Add(this.button3);

this.Controls.Add(this.button2);

this.Controls.Add(this.button1);

this.Controls.Add(this.textBox1);

this.Controls.Add(this.listBox1);

 

ÀÌ Äڵ忡 ÀÇÇØ ¼¼ °³ÀÇ ¹öÆ°°ú ¸®½ºÆ® ¹Ú½º, ÅؽºÆ® ¹Ú½º°¡ ÆûÀÇ Â÷Àϵå·Î ¹èÄ¡µÈ´Ù. µðÀÚÀ̳ʰ¡ ÀÛ¼ºÇÑ Äڵ带 ±×´ë·Î µû¶óÇÏ¸é ½ÇÇàÁß¿¡ ÄÁÆ®·ÑÀ» µ¿ÀûÀ¸·Î »ý¼ºÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½ ¿¹Á¦´Â ½ÇÇàÁß¿¡ ¹öÆ°À» »ý¼º ¹× Æı«ÇÑ´Ù.

 

RuntimeControl

using System; ~ using System.Windows.Forms;

 

namespace RuntimeControl {

             public partial class Form1 : Form {

                           Button Btn;

 

                           public Form1() {

                                        InitializeComponent();

                           }

 

                           private void Btn_Click(object sender, EventArgs e) {

                                        MessageBox.Show("½ÇÇàÁß¿¡ ¸¸µç ¹öÆ°À» Ŭ¸¯Çß½À´Ï´Ù.");

                           }

 

                           private void Form1_MouseDown(object sender, MouseEventArgs e) {

                                        if (e.Button == MouseButtons.Left && Btn == null) {

                                                     Btn = new Button();

                                                     Btn.Location = new Point(10, 10);

                                                     Btn.Size = new Size(150, 25);

                                                     Btn.Name = "RunButton";

                                                     Btn.Text = "½ÇÇàÁß¿¡ ¸¸µç ¹öÆ°";

                                                     Btn.Click += new EventHandler(Btn_Click);

 

                                                     Controls.Add(Btn);

                                        }

                                        if (e.Button == MouseButtons.Right && Btn != null) {

                                                     Controls.RemoveAt(0);

                                                     Btn = null;

                                        }

                           }

             }

}

 

µðÀÚÀΠŸÀÓ¿¡ ÄÁÆ®·ÑÀ» ¹èÄ¡ÇÏÁö ¾Ê¾Æ ÃÖÃÊ ½ÇÇà½Ã¿¡´Â Æû¿¡ ¾Æ¹«°Íµµ ¾ø´Ù. ¸¶¿ì½º ¿ÞÂÊ ¹öÆ°À» ´©¸£¸é ¹öÆ° ÄÁÆ®·ÑÀÌ »ý¼ºµÇ¸ç ÀÌ ¹öÆ°À» ´©¸£¸é ¸Þ½ÃÁö ¹Ú½º°¡ ³ªÅ¸³­´Ù. ¿À¸¥ÂÊ ¹öÆ°À» ´©¸£¸é ¹öÆ°ÀÌ »ç¶óÁø´Ù.

 

¹öÆ° ÄÁÆ®·ÑÀ» »ý¼ºÇÒ ¶§´Â new ¿¬»êÀÚ·Î Button °´Ã¼¸¦ ÇÒ´çÇÏ°í ÇÁ·ÎÆÛƼ¿¡ Àû´çÇÑ °ªÀ» ´ëÀÔÇÑ ÈÄ ÆûÀÇ Controls Ä÷º¼Ç¿¡ Ãß°¡ÇÑ´Ù. ÇÁ·ÎÆÛƼ»Ó¸¸ ¾Æ´Ï¶ó À̺¥Æ® Çڵ鷯µµ += ¿¬»êÀÚ·Î µî·ÏÇÒ ¼ö ÀÖ´Ù. ¸Þ¼­µå¸¦ ½ÇÇàÁß¿¡ ¸¸µé ¼ö´Â ¾ø¾î Çڵ鷯´Â ¹Ì¸® ÁغñÇØ µÎ¾î¾ß ÇÑ´Ù. ¾Æ´Ï¸é ÀÍ¸í ¸Þ¼­µå¸¦ ¾µ ¼öµµ ÀÖ´Ù.

Á¦°ÅÇÒ ¶§´Â Controls Ä÷º¼ÇÀÇ RemoveAt ¸Þ¼­µå·Î ù ¹ø° Â÷Àϵ带 Á¦°ÅÇÑ´Ù. ÀÌ ¿¹Á¦ÀÇ °æ¿ì Â÷Àϵ尡 Çϳª¹Û¿¡ ¾ø¾î ¹«Á¶°Ç 0¹øÀ» Áö¿ì´Âµ¥ ¸¸¾à Â÷Àϵ尡 ¿©·¯ °³¶ó¸é Á¦°Å ´ë»ó ÄÁÆ®·ÑÀ» °Ë»öÇØ¾ß ÇÑ´Ù. ÄÁÆ®·ÑÀ» µ¿ÀûÀ¸·Î »ý¼ºÇϰųª Á¦°ÅÇÒ ¶§´Â ÀÌÁß »ý¼º ¹× Á¦°ÅÇÏÁö ¾Êµµ·Ï Á¶°ÇÀ» Àß Á¡°ËÇØ¾ß Çϴµ¥ À§ ¿¹Á¦´Â Btn Çʵ尡 null ÀÎÁö ¾Æ´ÑÁö Á¡°ËÇÔÀ¸·Î½á ¹öÆ°ÀÌ »ý¼ºµÇ¾î ÀÖ´ÂÁö ¾Æ´ÑÁö Á¶»çÇÑ´Ù.

·±Å¸ÀÓ¿¡ ÄÁÆ®·ÑÀ» »ý¼ºÇÏ´Â °ÍÀº µðÀÚÀΠŸÀÓ¿¡ °³¹ßÅøÀÇ µµ¿òÀ» ¹Þ´Â °Íº¸´Ù ¹ø°Å·Ó°í ºÒÆíÇÏ´Ù. ±×·¯³ª ½ÇÇàÇØ º¸±â Àü¿¡ ¾î¶² ÄÁÆ®·ÑÀÌ ¸î °³³ª ÇÊ¿äÇÑÁö ¾Ë ¼ö ¾ø´Â °æ¿ì°¡ ÀÖ´Ù. ¼ºÀûÀ» ÅؽºÆ® ¹Ú½º¿¡ Ãâ·ÂÇÒ ¶§ Çлý ¼ö°¡ ¾ó¸¶³ª µÉÁö ¹Ì¸® ¾Ë ¼ö ¾ø´Ù¸é ½ÇÇàÁß¿¡ ÀÔ·ÂµÈ Çлý¼ö¸¸Å­ ÅؽºÆ® ¹Ú½º¸¦ »ý¼ºÇØ¾ß ÇÑ´Ù.

°¡´ÉÇÑ ÃÖ´ëÄ¡¸¸Å­ ÅؽºÆ® ¹Ú½º¸¦ ¹Ì¸® ¹èÄ¡ÇØ ³õ°í ½ÇÇàÁß¿¡´Â Visible ÇÁ·ÎÆÛƼ¸¦ ÅëÇØ ²À ÇÊ¿äÇÑ ÄÁÆ®·Ñ¸¸ º¸ÀÌ´Â ²Ä¼ö¸¦ ¾µ ¼öµµ ÀÖÁö¸¸ ³¶ºñ°¡ ½ÉÇÏ°í ÃÖ´ëÄ¡¸¸Å­ÀÇ ÇÑ°è°¡ »ý±ä´Ù. ·±Å¸ÀÓ¿¡ »ý¼ºÇϸé ÇÊ¿äÇѸ¸Å­ ÄÁÆ®·ÑÀ» ¸¸µé ¼ö ÀÖ¾î °æÁ¦ÀûÀÌ°í ¾ÈÀüÇÏ´Ù. »ç½Ç ´å³ÝÀÇ ÄÁÆ®·ÑÀº ¸ðµÎ ·±Å¸ÀÓ¿¡ »ý¼ºµÈ´Ù. ´Ù¸¸ ±× »ý¼º Äڵ带 ¿ì¸®°¡ ÀÛ¼ºÇÏ´À³Ä ¾Æ´Ï¸é µðÀÚÀ̳ʰ¡ ÀÛ¼ºÇÏ´À³ÄÀÇ Â÷ÀÌ°¡ ÀÖÀ» »ÓÀÌ´Ù.