27-2.Åø¹Ù¿Í »óŶõ

27-2-1.ToolStrip

Åø¹Ù´Â ÆûÀÇ »ó´Ü¿¡ ¹èÄ¡µÇ¸ç ¸í·ÉÀ» ³»¸®´Â ´Ù¼öÀÇ ¹öÆ°À» °¡Áø´Ù. ¸¶¿ì½º·Î ´©¸£±â¸¸ ÇÏ¸é µÇ¹Ç·Î ¸Þ´º¿¡ ºñÇØ Á¢±Ù¼ºÀÌ ¶Ù¾î³­ °ÍÀÌ ¹«¾ùº¸´Ù Å« ÀåÁ¡ÀÌ°í ¾ÆÀÌÄÜÀ¸·Î Àå½ÄµÇ¾î ÀÖ¾î ¿¹»Ú±â±îÁö ÇÏ´Ù. °Ô´Ù°¡ ¿øÇÏ´Â °÷¿¡ µµÅ·½ÃÄÑ ³õÀ» ¼ö ÀÖ°í ÀÚÁÖ ¾²´Â ¹öÆ°¸¸ °ñ¶ó »ç¿ëÀÚ Á¤ÀÇÇÒ ¼ö ÀÖ¾î ÆíÀǼº±îÁö ±Ø´ëÈ­µÇ¾î ÀÖ´Ù. ±×·¡¼­ Åø¹Ù¸¦ »ç¿ëÇÏÁö ¾Ê´Â ÇÁ·Î±×·¥À» ±¸°æÇϱâ Èûµé Áö°æÀÌ´Ù.

Åø¹Ù´Â ToolBar, StatusBar ÄÁÆ®·Ñ·Î ¸¸µé ¼öµµ Àִµ¥ ´õ ½ÅÇüÀÇ ToolStrip, StatusStrip ÄÁÆ®·Ñ·Î ´ëüµÇ¾ú´Ù. º¹ÀâÇØÁ³Áö¸¸ ¼¼·ÃµÈ ¿Ü°üÀ» Á¦°øÇÏ¸ç ±â´ÉÀÌ Ç³ºÎÇÏ´Ù. ȣȯ¼º À¯Áö¸¦ À§ÇØ ÀÌÀü ¹öÀüÀÇ ÄÁÆ®·Ñµµ ¿©ÀüÈ÷ »ç¿ëÇÒ ¼ö ÀÖÁö¸¸ µµ±¸ ¸ðÀ½¿¡¼­´Â »ç¶óÁ³´Ù. ¾ÕÀ¸·Î´Â °¡±ÞÀûÀÌ¸é ½ÅÇü ¹öÀüÀ» ¾²´Â °ÍÀÌ ÁÁ´Ù. óÀ½ ½á º¸´Â »ç¶÷¿¡°Ô´Â °úÁ¤ÀÌ Á¶±Ý º¹ÀâÇϹǷΠ°£´ÜÇÑ ¿¹Á¦¸¦ ÅëÇØ ±âº»ÀûÀÎ µ¿ÀÛ°ú ¿ë¾î¸¦ ÀÍÇô º¸ÀÚ.

ºó Æû¿¡ ToolStrip ÄÁÆ®·ÑÀ» ¹èÄ¡ÇÑ´Ù. Dock ÇÁ·ÎÆÛƼÀÇ µðÆúÆ®°¡ TopÀ̹ǷΠÆûÀÇ »ó´Ü¿¡ ¹ÐÂøµÈ´Ù. Åø¹Ù¿¡´Â µðÀÚÀΠŸÀÓ¿¡ Ç׸ñÀ» Ãß°¡ÇÒ ¼ö ÀÖ´Â ¹öÆ°ÀÌ ³ªÅ¸³ª´Âµ¥ ÀÌ ¹öÆ°Àº µðÀÚÀÎÀ» µµ¿ÍÁÖ´Â º¸Á¶ ÅøÀÏ »ÓÀ̹ǷΠ½ÇÇàÁß¿¡´Â ³ªÅ¸³ªÁö ¾Ê´Â´Ù. ¿ÞÂÊÀÇ ¹öÆ°À» ´©¸£¸é Åø¹Ù¿¡ »õ·Î¿î ¹öÆ°ÀÌ Ãß°¡µÇ¸ç µå·Ó´Ù¿îÀ» ¿­¾î ·¹À̺í, ÄÞº¸ ¹Ú½º, ±¸ºÐÀÚ °°Àº ¹öÆ° ¿ÜÀÇ ´Ù¸¥ ÄÁÆ®·ÑÀ» ¹èÄ¡ÇÒ ¼ö ÀÖ´Ù.

 

ÄÁÆ®·ÑÀ» Ãß°¡ÇÒ ¶§´Â Åø¹ÙÀÇ ¹öÆ°À» »ç¿ëÇÏ°í Ç׸ñÀ» »ó¼¼ÇÏ°Ô °ü¸®ÇÒ ¶§´Â Items ÇÁ·ÎÆÛƼ ¿·ÀÇ ... ¹öÆ°À» ´­·¯ Ä÷º¼Ç ÆíÁý±â¸¦ È£ÃâÇÑ´Ù. ÆíÁý±âÀÇ »ó´Ü ÄÞº¸ ¹Ú½º¿¡¼­ Ãß°¡ÇÒ ÄÁÆ®·ÑÀ» ¼±ÅÃÇÑ ÈÄ Ãß°¡ ¹öÆ°À» ´©¸£¸é µÈ´Ù. ¿À¸¥ÂÊ¿¡´Â Åø¹Ù¿¡ ¹èÄ¡µÈ Ç׸ñ¿¡ ´ëÇÑ ¼Ó¼ºÃ¢ÀÌ ³ªÅ¸³­´Ù.

¹öÆ°, ¹öÆ°, ±¸ºÐÀÚ, ·¹À̺í, ÅؽºÆ® ¹Ú½º, ¹öÆ° ¼øÀ¸·Î Ãß°¡Çß´Ù. Ç׸ñÀ» Ãß°¡ÇÏ´Â Á·Á· Åø¹Ù¿¡µµ ¹èÄ¡µÈ´Ù. µÎ ¹ø° ¹öÆ°ÀÇ CheckOnClick ÇÁ·ÎÆÛƼ¸¦ true·Î ¹Ù²Ù°í ·¹À̺íÀÇ Text¸¦ "Á¦¸ñ"À¸·Î º¯°æÇÑ´Ù. ³ª¸ÓÁö ÄÁÆ®·ÑÀº ¸ðµÎ µðÆúÆ® ÇÁ·ÎÆÛƼ¸¦ ±×´ë·Î »ç¿ëÇÑ´Ù. Ä÷º¼Ç ÆíÁý±â¸¦ ´ÝÀº ÈÄ Åø¹ÙÀÇ ¼¼ ¹öÆ°À» Â÷·Ê´ë·Î ´õºíŬ¸¯ÇÏ¿© Click À̺¥Æ® Çڵ鷯¸¦ ÀÛ¼ºÇÑ´Ù.

 

ToolStripTest

using System; ~ using System.Windows.Forms;

 

namespace ToolStripTest {

             public partial class Form1 : Form {

                           public Form1() {

                                        InitializeComponent();

                           }

 

                           private void toolStripButton1_Click(object sender, EventArgs e) {

                                        MessageBox.Show("Åø¹ÙÀÇ Ã¹ ¹ø° ¹öÆ°À» ´­·¶½À´Ï´Ù.");

                           }

 

                           private void toolStripButton2_Click(object sender, EventArgs e) {

                                        if (toolStripButton2.Checked) {

                                                     BackColor = Color.Red;

                                        } else {

                                                     BackColor = DefaultBackColor;

                                        }

                           }

 

                           private void toolStripButton3_Click(object sender, EventArgs e) {

                                        Text = toolStripTextBox1.Text;

                           }

             }

}

 

ù ¹ø° ¹öÆ°Àº ¸í·ÉÀ» ÀԷ¹޾ÒÀ½À» È®ÀÎÇϱâ À§ÇØ ¸Þ½ÃÁö ¹Ú½º¸¦ ¿¬´Ù. µÎ ¹ø° ¹öÆ°Àº ´©¸¦ ¶§¸¶´Ù ÆûÀÇ ¹è°æ»öÀ» »¡°£»ö°ú Control ½Ã½ºÅÛ »öÀ¸·Î Åä±ÛÇÑ´Ù. üũ ¹Ú½ºÃ³·³ ÁøÀ§ÀûÀÎ ¿É¼ÇÀ» ÀԷ¹ÞÀ» ¶§´Â ÀÚµ¿À¸·Î üũ »óŸ¦ Åä±ÛÇϱâ À§ÇØ CheckOnClick ÇÁ·ÎÆÛƼ¸¦ true·Î ÁöÁ¤ÇÑ´Ù. ¼¼ ¹ø° ¹öÆ°Àº ÅؽºÆ® ¹Ú½º¿¡ ÀÔ·ÂµÈ ¹®ÀÚ¿­À» ÆûÀÇ Å¸ÀÌƲ ¹Ù·Î º¹»çÇÑ´Ù.

ToolStripÀº ¹öÆ°, ÅؽºÆ® ¹Ú½º, ·¹À̺í, ÇÁ·Î±×·¡½º µîÀÇ ÄÁÆ®·ÑÀ» ¹èÄ¡ÇÒ ¼ö ÀÖ´Â ÄÁÅ×À̳ÊÀÌ´Ù. ±¸Çü Åø¹Ù´Â ¹öÆ°¸¸ °¡Áö´Âµ¥ ºñÇØ Æ÷ÇÔÇÒ ¼ö ÀÖ´Â ÄÁÆ®·ÑÀÌ ´Ù¾çÇØÁ³À¸¸ç Àå½ÄÀ̳ª Á¦°øÇÏ´Â ±â´Éµµ ¿ùµîÈ÷ Çâ»óµÇ¾ú´Ù. ´ÙÀ½Àº ToolStripÀÇ ÁÖ¿ä ÇÁ·ÎÆÛƼÀÌ´Ù.

 

ÇÁ·ÎÆÛƼ

ŸÀÔ

¼³¸í

CanOverflow

bool

¿À¹öÇÃ·Î¿ì ±â´ÉÀ» Áö¿øÇÏ´ÂÁö¸¦ ÁöÁ¤ÇÑ´Ù. Åø¹ÙÀÇ Ç׸ñÀÌ Åø¹Ù ÆøÀ» ³ÑÀ» °æ¿ì ¼û°ÜÁø Ç׸ñÀÌ ¿À¹öÇÃ·Î¿ì ¸Þ´º¿¡ ³ªÅ¸³­´Ù. À§ ¿¹Á¦ÀÇ ÆøÀ» ÀÛ°Ô ÁÙ¿© º¸¸é ÀÌ Çö»óÀ» Á÷Á¢ º¼ ¼ö ÀÖ´Ù.

Items

ToolStripItemCollection ¨Þ

Åø¹Ù¿¡ Æ÷ÇÔµÈ Ç׸ñÀÇ Ä÷º¼ÇÀÌ´Ù. º°µµÀÇ Ä÷º¼Ç ÆíÁý±â°¡ ÀÖÀ¸¹Ç·Î µðÀÚÀΠŸÀÓ¿¡ ¼Õ½±°Ô ÆíÁýÇÒ ¼ö ÀÖ´Ù.

RenderMode

ToolStripRenderMode

Åø¹Ù¸¦ ±×¸± ¶§ »ç¿ëÇÒ ½ºÅ¸ÀÏÀ» ÁöÁ¤ÇÑ´Ù.

TextDirection

ToolStripTextDirection

Åø¹Ù¿¡ ³ªÅ¸³¯ ÅؽºÆ®¸¦ Ãâ·ÂÇÒ ¹æÇâÀ» ÁöÁ¤ÇÑ´Ù. ¼öÆò, ¼öÁ÷À§, ¼öÁ÷¾Æ·¡ ¼Â Áß Çϳª¸¦ ¼±ÅÃÇÑ´Ù.

AllowItemReorder

bool

½ÇÇàÁß¿¡ Ç׸ñÀÇ ¼ø¼­¸¦ º¯°æÇÒ ¼ö ÀÖ´ÂÁö¸¦ ÁöÁ¤ÇÑ´Ù. ÀÌ °ªÀÌ trueÀ̸é AltÅ°¸¦ ´©¸¥Ã¤·Î Ç׸ñÀ» µå·¡±×ÇÏ¿© ¼ø¼­¸¦ ¹Ù²Ü ¼ö ÀÖ´Ù.

GripStyle

ToolStripGripStyle

Åø¹Ù À̵¿ ÇÚµéÀÇ Ç¥½Ã ¿©ºÎ¸¦ ÁöÁ¤ÇÑ´Ù.

 

ÆøÀÌ Á¼À» ¶§ ¾Èº¸ÀÌ´Â ¹öÆ°±îÁö ¾µ ¼ö ÀÖµµ·Ï ÇØ ÁÖ´Â ¿À¹öÇ÷ο쳪 Ç׸ñÀÇ ¼ø¼­¸¦ ½ÇÇàÁß¿¡ ¹Ù²Ù´Â ±â´ÉÀº ¾ÆÁÖ ÈǸ¢ÇÏ´Ù. Âü°í·Î ÀÌ·± ±â´ÉÀº MenuStrip¿¡µµ ±×´ë·Î Àû¿ëµÇ´Âµ¥ MenuStripÀÌ ToolStripÀ¸·ÎºÎÅÍ ÆÄ»ýµÇ¾ú±â ¶§¹®ÀÌ´Ù.

27-2-2.Åø¹ÙÀÇ Ç׸ñ

Åø¹ÙÀÇ ÁÖµÈ ¿ëµµ´Â ¸í·ÉÀ» ½Å¼ÓÇÏ°Ô ÀԷ¹޴ °ÍÀÌ¸ç µû¶ó¼­ Åø¹Ù¿¡´Â º¸Åë ¸í·É ¹öÆ°ÀÌ ¹èÄ¡µÈ´Ù. ÇÏÁö¸¸ ÇÊ¿äÇÒ °æ¿ì ´Ù¸¥ ÄÁÆ®·ÑÀÌ ¹èÄ¡µÉ ¼öµµ Àִµ¥ ƯÈ÷ ¼±Åà »çÇ×À» ÀԷ¹޴ ÄÞº¸ ¹Ú½º°¡ Á¾Á¾ ÇÊ¿äÇÏ´Ù. ºñÁÖ¾ó ½ºÆ©µð¿ÀÀÇ Åø¹Ù¸¦ º¸¸é ºôµå Ÿ±êÀ̳ª °Ë»ö ¹®ÀÚ¿­À» ÀԷ¹ޱâ À§ÇÑ ÄÞº¸ ¹Ú½º°¡ Åø¹Ù¿¡ ¹èÄ¡µÇ¾î ÀÖ´Ù. ToolStrip¿¡´Â ´ÙÀ½°ú °°Àº ÄÁÆ®·ÑÀÌ ¹èÄ¡µÈ´Ù.

 

Ŭ·¡½º

¼³¸í

ToolStripLabel

Á¦¸ñÀ» Ç¥½ÃÇÏ´Â ·¹À̺íÀÌ´Ù. ÇÏÀÌÆÛ¸µÅ©¸¦ Ç¥½ÃÇÒ ¼öµµ ÀÖ´Ù.

ToolStipButton

¸í·É ¹öÆ° ¹× ¿É¼ÇÀ» ÀԷ¹޴ ¹öÆ°ÀÌ´Ù.

ToolStripSeparator

Ç׸ñ³¢¸®ÀÇ ±¸ºÐ¿¡ »ç¿ëµÇ´Â Á÷¼±À» ±ß´Â´Ù.

ToolStripControlHost

»ç¿ëÀÚ ÁöÁ¤ ÄÁÆ®·ÑÀ» È£½ºÆ®ÇÑ´Ù.

ToolStripComboBox

¸ñ·ÏÁß Çϳª¸¦ ¼±ÅÃÇϰųª ÅؽºÆ®¸¦ Á÷Á¢ ÀÔ·ÂÇÒ ¼ö ÀÖ´Â ÄÞº¸ ¹Ú½ºÀÌ´Ù.

ToolStripTextBox

¹®ÀÚ¿­À» ÀÔ·ÂÇÒ ¼ö ÀÖ´Â ÅؽºÆ® ¹Ú½ºÀÌ´Ù.

ToolStripProgressBar

ÀÛ¾÷ÀÇ ÁøÇà °úÁ¤À» Ç¥½ÃÇÏ´Â ÇÁ·Î±×·¡½º ¹ÙÀÌ´Ù.

ToolStripMenuItem

µå·Ó´Ù¿î ¹öÆ°¿¡ Æ÷ÇԵǴ ¸Þ´º Ç׸ñÀÌ´Ù.

ToolStripDropDownButton

Ç׸ñÁß Çϳª¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ´Â µå·Ó´Ù¿î ¸Þ´º¸¦ ¿¬´Ù.

ToolStripSplitButton

¿ÞÂÊ¿¡ ¹öÆ°ÀÌ ÀÖ°í ¿À¸¥ÂÊ¿¡ µå·Ó´Ù¿îÀÌ ÀÖ´Â Á¶ÇÕ ÄÁÆ®·ÑÀÌ´Ù.

 

·¹À̺íÀ̳ª ÄÞº¸ ¹Ú½º, ÅؽºÆ® ¹Ú½º, ÇÁ·Î±×·¡½º µîÀÇ ÄÁÆ®·ÑÀÌ Åø¹ÙÀÇ Â÷Àϵå·Î »ç¿ëµÈ´Ù. ¸ðµÎ ToolStripItemÀ¸·ÎºÎÅÍ »ó¼Ó¹ÞÀ¸¸ç ÀϺΠȮÀåµÈ ±â´ÉÀ» °¡ÁöÁö¸¸ ´ëºÎºÐ ±âº» ÄÁÆ®·Ñ°ú À¯»çÇÏ´Ù. ÇÁ·ÎÆÛƼ³ª À̺¥Æ® ¸ñ·ÏÀÌ ºñ½ÁÇÏ°í »ç¿ëÇÏ´Â ¹æ¹ýµµ °ÅÀÇ µ¿ÀÏÇÏ´Ù.

¹°·Ð Åø¹Ù¿¡ »ç¿ëÇϱâ À§ÇØ Æ¯È­µÈ Ŭ·¡½ºÀ̹ǷΠÀÏ¹Ý ÄÁÆ®·Ñ°ú´Â Á¶±Ý¾¿ Â÷ÀÌ°¡ ÀÖ´Ù. ÇÏÁö¸¸ µû·Î ½Ã°£À» ³»¼­ ¿¬±¸ÇØ ºÁ¾ß ÇÒ Á¤µµ·Î ½ÉÇÑ Â÷ÀÌ´Â ¾øÀ¸¹Ç·Î ¾²´Ù°¡ ÇÊ¿äÇÒ ¶§ µµ¿ò¸»À» ã¾Æ ºÁµµ ´ÊÁö ¾Ê´Ù. °´Ã¼ÁöÇâÀº »ç¿ëÀÚÀÇ Á÷°üÀ» ¹è½ÅÇÏÁö ¾Êµµ·Ï µÇ¾î ÀÖÀ¸¹Ç·Î ±âÁ¸ Áö½ÄÀ» ÃÖ´ëÇÑ È°¿ëÇÒ ¼ö ÀÖ´Ù.

±×·¸´Ù°í Çؼ­ Åø¹Ù¿¡ ¾Æ¹« ÄÁÆ®·ÑÀ̳ª ´Ù ¹èÄ¡ÇÒ ¼ö ÀÖ´Â °ÍÀº ¾Æ´Ï´Ù. ³ôÀÌ¿¡ Á¦¾àÀÌ ÀÖÀ¸¹Ç·Î ¸®½ºÆ® ¹Ú½º³ª Æ®¸® ºä °°Àº Å« ÄÁÆ®·ÑÀº ¹èÄ¡ÇÒ ¼ö ¾ø´Ù. Åø¹Ù´Â º¹ÀâÇÑ ÀÛ¾÷º¸´Ù´Â ¸í·ÉÀ» ½Å¼ÓÇÏ°Ô ½ÇÇàÇϰųª °£´ÜÇÑ ¿É¼ÇÀ» ÀԷ¹ÞÀ» ¶§ »ç¿ëÇÏ´Â °ÍÀ̹ǷΠ°Å´ëÇÑ ÄÁÆ®·ÑÀº ¾î¿ï¸®Áö ¾Ê´Â´Ù. ´ÙÀ½ ¿¹Á¦´Â Åø¹Ù¿¡ µå·Ó´Ù¿î ¹öÆ°°ú ÇÁ·Î±×·¡½º¸¦ ¹èÄ¡ÇÏ°í ¿É¼ÇÀ» ¼±ÅÃÇϰųª ÀÛ¾÷ ÁøÇà »óŸ¦ Ç¥½ÃÇÑ´Ù.

 

ToolDropDown

using System; ~ using System.Windows.Forms;

 

namespace ToolDropDown {

             public partial class Form1 : Form {

                           public Form1() {

                                        InitializeComponent();

                           }

 

                           private void »¡°£»öToolStripMenuItem_Click(object sender, EventArgs e) {

                                        BackColor = Color.Red;

                           }

 

                           private void ÃÊ·Ï»öToolStripMenuItem_Click(object sender, EventArgs e) {

                                        BackColor = Color.Green;

                           }

 

                           private void ÆĶõ»öToolStripMenuItem_Click(object sender, EventArgs e) {

                                        BackColor = Color.Blue;

                           }

 

                           private void toolStripButton1_Click(object sender, EventArgs e) {

                                        for (int i = 0; i < 100; i++) {

                                                     toolStripProgressBar1.Value = i;

                                                     System.Threading.Thread.Sleep(50);

                                        }

                                        toolStripProgressBar1.Value = 0;

                           }

             }

}

 

µå·Ó´Ù¿î, ¹öÆ°, ÇÁ·Î±×·¡½º Ç׸ñÀ» Åø ¹Ù¿¡ Ãß°¡Çß´Ù. µå·Ó´Ù¿î ¹öÆ°Àº ToolStripDropDownÀ̶ó´Â ÄÁÅؽºÆ® ¸Þ´º¸¦ Ç¥½ÃÇÑ´Ù. Items Ä÷º¼Ç ÆíÁý±â¿¡ ¸Þ´º Ç׸ñÀ» Ãß°¡Çϴµ¥ ¿¹Á¦¿¡¼­´Â »ö»ó À̸§À¸·Î ¸Þ´º Ç׸ñ(ToolStripMenuItem °´Ã¼)À» ¸¸µé¾ú´Ù.  °¢ ¸Þ´º Ç׸ñÀÇ Click À̺¥Æ® Çڵ鷯¿¡¼­ ÆûÀÇ ¹è°æ»öÀ» ¹Ù²ã º¸¾Ò´Ù.

 

µå·Ó´Ù¿î ¿·ÀÇ ¹öÆ°À» ´©¸£¸é Àå½Ã°£ÀÇ ¾î¶² ÀÛ¾÷À» Çϴµ¥ ±× °úÁ¤À» ÇÁ·Î±×·¡½º ¹Ù¿¡ Ãâ·ÂÇÑ´Ù. »ç½Ç ÇÁ·Î±×·¡½º ¹Ù¸¦ Åø¹Ù¿¡ ¹èÄ¡ÇÏ´Â °æ¿ì´Â °ÅÀÇ ¾ø°í »óŶõ¿¡ ¹èÄ¡ÇÏ´Â °ÍÀÌ ÀϹÝÀûÀÌ´Ù. º°µµÀÇ ´ëÈ­»óÀÚ¸¦ ¶ç¿ì´Â °Íº¸´Ù »óŶõ¿¡¼­ ÁøÇà °úÁ¤À» Ç¥½ÃÇÏ´Â °ÍÀÌ ´õ °£ÆíÇÏ´Ù.

27-2-3.StatusStrip

»óŶõÀº ½Ã½Ã°¢°¢À¸·Î º¯ÇÏ´Â ÇÁ·Î±×·¥ÀÇ Á¤º¸¸¦ »ç¿ëÀÚ¿¡°Ô º¸¿©ÁØ´Ù. ÆûÀÇ ÇÏ´Ü¿¡ ¹èÄ¡µÇ¸ç Ç×»ó º¸À̱⠶§¹®¿¡ ÇÁ·Î±×·¥ÀÇ »óŸ¦ ¾ðÁ¦µçÁö ÂüÁ¶ÇÒ ¼ö ÀÖ´Ù. Á¼Àº ¿µ¿ªÀ» ¾Ë¶ãÇÏ°Ô ºÐÇÒÇÏ¿© °¢ Ä­¿¡ ´Ù¾çÇÑ Á¤º¸¸¦ Ç¥½ÃÇÑ´Ù. ´ÙÀ½Àº Ž»ö±â¿Í ºñÁÖ¾ó ½ºÆ©µð¿ÀÀÇ »óŶõÀÌ´Ù.

Ž»ö±â´Â µð½ºÅ©ÀÇ ³²Àº ¿ë·®, ¼±ÅÃµÈ ÆÄÀÏÀÇ Å©±â µîÀ» Ç¥½ÃÇÏ°í ºñÁÖ¾ó ½ºÆ©µð¿À´Â ÆíÁý À§Ä¡³ª Å°º¸µåÀÇ ÇöÀç »óÅ µîÀ» Ç¥½ÃÇÑ´Ù. ½Ã°£ÀÌ °É¸®´Â ÀÛ¾÷À» ÇÒ ¶§´Â »óŶõ¿¡ ÇöÀç µ¿ÀÛÀ» ¾È³»ÇÏ°í ¸Þ´º¿¡ ´ëÇÑ °£´ÜÇÑ µµ¿ò¸»À» º¸¿©ÁØ´Ù. »óŶõÀÇ Á¤º¸´Â ´ëºÎºÐ ¹®ÀÚ¿­À̹ǷΠÁÖ·Î ·¹À̺íÀÌ ¹èÄ¡µÇÁö¸¸ °¡²û ÇÁ·Î±×·¡½º³ª µå·Ó´Ù¿î ¹öÆ°ÀÌ ¹èÄ¡µÇ´Â °æ¿ìµµ ÀÖ´Ù.

ºó Æû¿¡ StatusStrip ÄÁÆ®·ÑÀ» ¹èÄ¡ÇÑ´Ù. Dock ÇÁ·ÎÆÛƼÀÇ µðÆúÆ®°¡ BottomÀ¸·Î µÇ¾î ÀÖ¾î ¹èÄ¡ÇÏÀÚ ¸¶ÀÚ ÆûÀÇ ¹Ù´Ú¿¡ ÁÖÀú ¾É´Â´Ù. Åø½ºÆ®¸³°ú ¸¶Âù°¡Áö·Î º¸Á¶ ¹öÆ°ÀÌ ³ªÅ¸³ª´Âµ¥ ¿ÞÂÊÀÇ ¹öÆ°À» ´©¸£¸é ·¹À̺íÀÌ ¹èÄ¡µÇ°í µå·Ó´Ù¿îÀ» ¿­¾î ´Ù¸¥ ÄÁÆ®·ÑÀ» ¹èÄ¡ÇÒ ¼ö ÀÖ´Ù.

¿ÞÂÊ ¹öÆ°À» ¼¼ ¹ø ´­·¯ ¼¼ °³ÀÇ ·¹À̺íÀ» ¹èÄ¡ÇÑ´Ù. ·¹À̺íÀÇ µðÆúÆ® ÆøÀÌ »ó´çÈ÷ ³Ð¾î ÆûÀ» È®ÀåÇØ ³õ°í ÀÛ¾÷ÇÏ´Â °ÍÀÌ Æí¸®ÇÏ´Ù. ¼¼ ·¹À̺íÀ» µ¿½Ã¿¡ ¼±ÅÃÇØ ³õ°í ÇÁ·ÎÆÛƼ¸¦ ÇѲ¨¹ø¿¡ ÆíÁýÇÑ´Ù.

 

ÇÁ·ÎÆÛƼ

°ª

¼³¸í

AutoSize

false

°íÁ¤µÈ ÆøÀ» °®µµ·Ï ÇÑ´Ù.

Text

¸ðµÎ Áö¿ò

½ÇÇàÁß¿¡ º¯°æµÈ´Ù.

BorderStyle

SunkenOuter

¾¦ µé¾î°£ ¸ð¾çÀ¸·Î ¸¸µç´Ù. µðÆúÆ®ÀÎ FlatÀº °æ°è¼±ÀÌ º¸ÀÌÁö ¾Ê´Â´Ù.

BorderSides

¸ðµÎ

°¢ º¯¿¡ ´ëÇØ °æ°è¼± Àå½Ä ¿©ºÎ¸¦ ÁöÁ¤Çϴµ¥ 4º¯À» ¸ðµÎ Àå½ÄÇÑ´Ù.

 

Size.Width´Â Ç׸ñÀÇ ³Êºñ¸¦ ÁöÁ¤Çϴµ¥ ¾ÕÂÊ µÎ ·¹À̺íÀº 100À¸·Î ÁöÁ¤ÇÏ°í ¼¼ ¹ø° ·¹À̺íÀº Spring ÇÁ·ÎÆÛƼ¸¦ true·Î ÁöÁ¤ÇÏ¿© ³²Àº ÆøÀ» ¸ðµÎ »ç¿ëÇϵµ·Ï ÇÑ´Ù. Æû µðÀÚÀ̳ʿ¡¼­ Ç׸ñÀ» Á÷Á¢ ÆíÁýÇÏ´Â ´ë½Å Items ÇÁ·ÎÆÛƼÀÇ Ä÷º¼Ç ÆíÁý±â¸¦ ÅëÇØ ÆíÁýÇÒ ¼ö ÀÖ´Ù. Åø¹ÙÀÇ Ä÷º¼Ç ÆíÁý±â¿Í »ç¿ëÇÏ´Â ¹æ¹ýÀº °ÅÀÇ µ¿ÀÏÇÏ´Ù.

ÀÌÁ¦ Àû´çÇÑ ¶§¿¡ »óŶõÀÇ ·¹ÀÌºí¿¡ ÅؽºÆ®¸¦ Á¦°øÇÏ¿© Á¤º¸¸¦ Ãâ·ÂÇÏ¸é µÈ´Ù. ¸¶¿ì½º À̺¥Æ® Çڵ鷯¿¡ ´ÙÀ½ Äڵ带 ÀÛ¼ºÇÑ´Ù.

 

StatusStripTest

using System; ~ using System.Windows.Forms;

 

namespace StatusStripTest {

             public partial class Form1 : Form {

                           public Form1() {

                                        InitializeComponent();

                           }

 

                           private void Form1_MouseMove(object sender, MouseEventArgs e) {

                                        toolStripStatusLabel1.Text = e.X.ToString();

                                        toolStripStatusLabel2.Text = e.Y.ToString();

                           }

 

                           private void Form1_MouseClick(object sender, MouseEventArgs e) {

                                        switch (e.Button) {

                                                     case MouseButtons.Left:

                                                                   toolStripStatusLabel3.Text = "¿ÞÂÊ ¹öÆ°À» ´­·¶½À´Ï´Ù.";

                                                                   break;

                                                     case MouseButtons.Middle:

                                                                   toolStripStatusLabel3.Text = "°¡¿îµ¥ ¹öÆ°À» ´­·¶½À´Ï´Ù.";

                                                                   break;

                                                     case MouseButtons.Right:

                                                                   toolStripStatusLabel3.Text = "¿À¸¥ÂÊ ¹öÆ°À» ´­·¶½À´Ï´Ù.";

                                                                   break;

                                        }

                           }

             }

}

 

¿¹Á¦ ¼öÁØ¿¡¼­ Ưº°È÷ Ç¥½ÃÇÒ Á¤º¸°¡ ¾øÀ¸¹Ç·Î ¸¶¿ì½º Ä¿¼­ÀÇ ÇöÀç À§Ä¡¿Í ´­·¯Áø ¹öÆ°¿¡ ´ëÇÑ Á¤º¸¸¦ »óŶõ¿¡ Ãâ·ÂÇß´Ù. Ä¿¼­°¡ ¿òÁ÷ÀÌ¸é ¾ÕÂÊ µÎ Ç׸ñ¿¡ Ä¿¼­ÀÇ ¼öÆò, ¼öÁ÷ ÁÂÇ¥°¡ ³ªÅ¸³ª¸ç Ŭ¸¯ÇÏ¸é ¼¼ ¹ø° Ç׸ñ¿¡ ¾î¶² ¹öÆ°À» ´­·¶´ÂÁö Ãâ·ÂµÈ´Ù.

»óŶõÀÇ ¿À¸¥ÂÊ ³¡¿¡´Â »çÀÌ¡ ±×¸³À» Ç¥½ÃÇÑ´Ù. ÆûÀÇ Å©±â¸¦ Á¶Á¤ÇÒ ¶§ ÈçÈ÷ ¿ìÇÏ´ÜÀÇ °æ°è¼±À» µå·¡±×Çϴµ¥ ÀÌ ¿µ¿ªÀÌ ³Ê¹« Á¼À¸¸é ¸¶¿ì½º¸¦ Á¤È®ÇÏ°Ô À§Ä¡½ÃÅ°±â ¾î·Æ´Ù. »çÀÌ¡ ±×¸³Àº ³ÐÀº ¿µ¿ªÀ» Á¦°øÇÏ¿© ´ëÃæ µå·¡±×Çصµ Å©±â¸¦ Á¶Á¤ÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù. »çÀÌ¡ ±×¸³ÀÌ ÇÊ¿ä ¾øÀ¸¸é SizingGrip ÇÁ·ÎÆÛƼ¿¡ false¸¦ ´ëÀÔÇÑ´Ù.

27-2-4.Åø½ºÆ®¸³ ÄÁÅ×À̳Ê

¸Þ´º´Â ÇÁ·Î±×·¥´ç º¸Åë Çϳª¸¸ ÇÊ¿äÇÏÁö¸¸ Åø¹Ù´Â ¸í·ÉÀÇ ¿ëµµ¿¡ µû¶ó ±×·ìÀ» ³ª´©¾î µû·Î ¸¸µé±â ¶§¹®¿¡ ¿©·¯ °³°¡ µ¿½Ã¿¡ ÇÊ¿äÇÑ °æ¿ì°¡ ¸¹´Ù. ¾Æ·¡ ÇѱÛÀ̳ª ¿öµå¸¦ º¸¸é ÀÌ·± Åø¹ÙÀÇ ÁýÇÕÀ» º¼ ¼ö ÀÖÀ¸¸ç ºñÁÖ¾ó ½ºÆ©µð¿Àµµ ¿©·¯ °³ÀÇ Åø¹Ù¸¦ Æ÷°³ ³õ°í »ç¿ëÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½ ±×¸²Àº ºñÁÖ¾ó ½ºÆ©µð¿ÀÀÇ Åø¹Ù¸¦ ÀÛÁ¤À» ÇÏ°í ´Ù ²¨³» º» °ÍÀε¥ ¹öÆ°ÀÌ ³Ê¹« ¸¹¾Æ ¾îÁö·´±â±îÁö ÇÏ´Ù.

ÀÌ Á¤µµ±îÁö Åø¹Ù¸¦ ¼³Ä¡ÇØ ³õÀ¸¸é ³Ê¹« ³­ÀâÇØÁ® È°¿ë¼ºÀÌ ¶³¾îÁöÁö¸¸ ±×·¡µµ µÎ¼¼ °³ Á¤µµÀÇ Åø¹Ù´Â º¸ÆíÀûÀ¸·Î »ç¿ëÇÑ´Ù. Åø½ºÆ®¸³ ÄÁÅ×À̳ʴ Åø¹Ù¸¦ ¹èÄ¡ÇÒ ¼ö ÀÖ´Â Åø¹Ù ÄÁÅ×À̳ÊÀÌ´Ù. ÀÌ ¾È¿¡ ¸Þ´º¿Í Åø¹Ù°¡ Â÷°îÂ÷°î ¹èÄ¡µÇ¸ç ½ÇÇàÁß¿¡ ÀÚ¸®¸¦ ¿Å±æ ¼ö ÀÖ´Ù.

 

ToolStripContainerTest

 

»õ ÇÁ·ÎÁ§Æ®¸¦ ¸¸µé°í ºó Æû¿¡ Åø½ºÆ®¸³ ÄÁÅ×À̳ʸ¦ ¹èÄ¡ÇØ º¸ÀÚ.

»óÇÏ Á¿쿡 ÆгÎÀÌ Àִµ¥ °¢º¯À» ¼û±â°Å³ª Ç¥½ÃÇÒ ¼ö ÀÖ´Ù. ÆгÎÀº ToolStripPanel °´Ã¼À̸ç ÀÌ ¾È¿¡ Åø¹Ù°¡ ¹èÄ¡µÈ´Ù. Åø¹Ù´Â ÆûÀÇ »óÇÏÁÂ¿ì °¢º¯¿¡ µµÅ·µÉ ¼ö ÀÖÀ¸¹Ç·Î Åø½ºÆ®¸³ ÄÁÅ×À̳ÊÀÇ Dock ÇÁ·ÎÆÛƼ¸¦ Fill·Î º¯°æÇÏ¿© ÆûÀÇ ¿µ¿ªÀ» °¡µæ ä¿ìµµ·Ï È®ÀåÇÑ´Ù. °¢ º¯ÀÇ ¹ÐÂøµÈ Æгο¡ Åø¹Ù°¡ µµÅ·µÈ´Ù.

´ÙÀ½Àº MenuStripÀ» À§ÂÊ Æгο¡ ¹èÄ¡ÇÑ´Ù. ¹èÄ¡ ¿¬½ÀÁßÀ̹ǷΠ¸Þ´º Ç׸ñÀº ÀÏÀÏÀÌ ¸¸µé ÇÊ¿ä ¾øÀÌ ½º¸¶Æ® ű׿¡¼­ Ç¥ÁØ Ç׸ñ »ðÀÔÀ» ¼±ÅÃÇÏ¿© ÀÚÁÖ »ç¿ëÇÏ´Â ¸Þ´º Ç׸ñÀ» ¾Ë¾Æ¼­ »ðÀÔÇÏÀÚ. ¸Þ´ºÀÇ GripStyleÀ» Visible·Î º¯°æÇÏ¿© ¸Þ´º¹ÙÀÇ ¿ÞÂÊ¿¡ ±×¸³ÀÌ ³ªÅ¸³ªµµ·Ï ÇÑ´Ù.

À̾ ToolStripÀ» À§ÂÊ Æгο¡ Ãß°¡Çϸé ÆгÎÀÌ 2´ÜÀ¸·Î È®ÀåµÈ´Ù. ¸Þ´º¿Í ¸¶Âù°¡Áö·Î ¹öÆ°À» Á÷Á¢ »ðÀÔÇÒ ÇÊ¿ä ¾øÀÌ ½º¸¶Æ® ű׿¡¼­ Ç¥ÁØ Ç׸ñ »ðÀÔÀ» ¼±ÅÃÇϸé ÀϹÝÀûÀ¸·Î ¸¹ÀÌ »ç¿ëÇÏ´Â ¹öÆ°ÀÌ Ãß°¡µÈ´Ù. ±×¸®°í ToolStripÀ» Çϳª ´õ Ãß°¡ÇÏ°í ¾Æ¹« ÄÁÆ®·ÑÀ̳ª Ãß°¡ÇØ º¸ÀÚ. °¡¿îµ¥ ¿µ¿ªÀº ±âŸ ÄÁÆ®·ÑÀ» ³õ´Â ¿µ¿ªÀε¥ ºñ¿öµÎ¸é ½ä··ÇÏ´Ï±î ¹öÆ° Çϳª¸¸ ¹èÄ¡ÇÑ´Ù. ÀÌ »óÅ¿¡¼­ ½ÇÇàÇØ º¸ÀÚ.

  

ÃÖÃÊ µðÀÚÀΠŸÀÓ¿¡ ¹èÄ¡ÇÑ´ë·Î ¸Þ´º¿Í µÎ °³ÀÇ Åø¹Ù°¡ 3´ÜÀ¸·Î ¹èÄ¡µÇ¾î ÀÖ´Ù. °¢ Åø¹Ù ¿ÞÂÊÀÇ ±×¸³À» µå·¡±×Çϸé ÄÁÅ×ÀÌ³Ê Æгγ»¿¡¼­ ÀÚÀ¯·Ó°Ô ¿Å±æ ¼ö ÀÖ´Ù. ½ÉÁö¾î ¸Þ´ºÁ¶Â÷µµ Åø¹Ùº¸´Ù ´õ ¾Æ·¡·Î ¿Å±æ ¼ö ÀÖ´Ù. ÆûÀÇ ÆøÀÌ ÃæºÐÈ÷ ³Ð´Ù¸é µÎ °³ÀÇ Åø¹Ù¸¦ ¿·À¸·Î ³ª¶õÈ÷ ¹èÄ¡ÇÏ´Â °Íµµ °¡´ÉÇÏ´Ù.

ÄÁÅ×À̳ÊÀÇ ³²´Â ÆøÀ» ÃÖ´ëÇÑ È°¿ëÇÏ´Â ±â´ÉÀ» ·¡ÇÁÆÃ(rafting)À̶ó°í ÇÑ´Ù. ÆûÀÇ ÆøÀÌ Á¼¾ÆÁö¸é °¡·ÁÁø ¹öÆ°À» µå·Ó´Ù¿îÀ» ¿­¾î º¼ ¼ö Àִµ¥ ÀÌ ±â´ÉÀ» ¿À¹öÇ÷οì¶ó°í ÇÑ´Ù. ±×¸³À» µå·¡±×ÇÏ¿© ´Ù¸¥ º¯À¸·Î À̻簥 ¼öµµ ÀÖ´Ù. ÀÌ ±â´ÉÀ» µµÅ·À̶ó°í ÇÏ¸ç ºñÁÖ¾ó ½ºÆ©µð¿ÀÀÇ Åø¹Ùµµ µµÅ·À» Áö¿øÇÑ´Ù.

Åø½ºÆ®¸³ ÄÁÅ×À̳ʴ »óÇÏÁ¿쿡 4°³ÀÇ ÆгÎÀÌ ÀÖ¾î ¾Æ¹« °÷¿¡³ª Åø¹Ù¸¦ µµÅ·ÇÒ ¼ö ÀÖÀ¸¸ç µµÅ·À» ¹ÞÀº ÆгÎÀº Å©±â°¡ ÀÚµ¿À¸·Î È®ÀåµÈ´Ù. ƯÁ¤º¯¿¡ µµÅ·À» ±ÝÁöÇÏ·Á¸é Left(Right, Top, Bottom)ToolStripPanelVisible ÇÁ·ÎÆÛƼ¸¦ false·Î º¯°æÇÑ´Ù. ¸Þ´º³ª ÄÞº¸ ¹Ú½º°°ÀÌ ³ÐÀº ÄÁÆ®·ÑÀ» °¡Áø Åø¹Ù´Â Á¿쿡 ¹èÄ¡ÇÏ¸é º¸±â¿¡ ÁÁÁö ¾Ê´Ù. µðÆúÆ®´Â 4º¯ÀÌ ¸ðµÎ º¸À̹ǷΠ¾Æ¹« °÷¿¡³ª µµÅ·ÇÒ ¼ö ÀÖ´Ù.

Åø¹Ù¸¦ ÀÚÀ¯ ÀÚÀç·Î ¿Å±â°í µµÅ·ÇÏ´Â ±â´ÉÀº ¿ÀÇǽº¿¡¼­ À¯·¡µÈ °ÍÀ¸·Î¼­ ¿øÇÏ´Â °÷¿¡ ¿øÇÏ´Â ¸í·ÉÀ» ¹èÄ¡ÇÒ ¼ö ÀÖ¾î »ý»ê¼º Çâ»ó¿¡ ±â¿©ÇÏ´Â ¹Ù°¡ Å©´Ù. ÀÚÁÖ ¾²´Â ¸í·ÉÀ» ÃÖ´ëÇÑ °¡±î¿î °÷¿¡ ¹èÄ¡ÇÏ¸é ¸¶¿ì½º À̵¿ °Å¸®°¡ ª¾Æ ºü¸£°Ô ÀÛ¾÷ÇÒ ¼ö ÀÖ´Ù.

27-2-5.À¥ ºê¶ó¿ìÀú Á¦ÀÛ

WebBrowse ÄÁÆ®·ÑÀº IE°¡ Á¦°øÇÏ´Â À¥ ºê¶ó¿ìÀúÀÌ´Ù. µðÆúÆ® ÇÁ·ÎÆÛƼ°¡ ¹«³­ÇÏ°Ô ¼³Á¤µÇ¾î ÀÖ¾î ÄÁÆ®·ÑÀ» ¹èÄ¡ÇÑ ÈÄ Navigate ¸Þ¼­µå·Î URL¸¸ ³Ñ±â¸é Áï½Ã À¥ ¼­ÇÎÀ» ÇÒ ¼ö ÀÖ´Ù. Åø¹Ù¿Í À¥ ºê¶ó¿ìÀú ÄÁÆ®·ÑÀ» »ç¿ëÇÏ¿© °£´ÜÇÑ À¥ ºê¶ó¿ìÀú¸¦ ¸¸µé¾î º¸ÀÚ.

 

WebExplorer

using System; ~ using System.Windows.Forms;

 

namespace WebExplorer {

             public partial class Form1 : Form {

                           public Form1() {

                                        InitializeComponent();

                           }

 

                           private void toolStripButton3_Click(object sender, EventArgs e) {

                                        webBrowser1.Navigate(toolStripTextBox1.Text);

                           }

 

                           private void toolStripButton1_Click(object sender, EventArgs e) {

                                        webBrowser1.GoBack();

                           }

 

                           private void toolStripButton2_Click(object sender, EventArgs e) {

                                        webBrowser1.GoForward();

                           }

 

                           private void Form1_Load(object sender, EventArgs e) {

                                        webBrowser1.Navigate(toolStripTextBox1.Text);

                           }

 

                           private void toolStripTextBox1_KeyDown(object sender, KeyEventArgs e) {

                                        if (e.KeyCode == Keys.Return) {

                                                     webBrowser1.Navigate(toolStripTextBox1.Text);

                                        }

                           }

             }

}

 

Åø¹Ù¸¦ À§¿¡ ¹èÄ¡ÇÏ°í ¾ÕµÚ À̵¿ ¹× ÁÖ¼Ò ÀÔ·ÂÀ» À§ÇÑ ÅؽºÆ® ¹Ú½º, À̵¿ ¹öÆ°À» ¹èÄ¡ÇÏ°í Åø¹Ù¿¡ À̹ÌÁöµµ ±×·Á ³Ö¾ú´Ù. WebBrowse ÄÁÆ®·ÑÀÇ Dock ÇÁ·ÎÆÛƼ¸¦ Fill·Î ¼³Á¤ÇÏ¿© ÆûÀÇ ³²´Â ¿µ¿ªÀ» ¸ðµÎ Â÷ÁöÇÑ´Ù. Åø¹ÙÀÇ ÅؽºÆ® ¹Ú½º¿¡ ÁÖ¼Ò°¡ ÀԷµǸé Navigate ¸Þ¼­µå·Î ÁÖ¼Ò¸¦ ³Ñ±â±â¸¸ ÇÑ´Ù. ½ÇÇà Á÷ÈÄ ±âº» À¥»çÀÌÆ®·Î À̵¿Çϴµ¥ º°·Î À¯¸íÇÏÁö´Â ¾ÊÁö¸¸ ÁÖÀÎÀåÀÌ ¾ÆÁÖ ¼ø¼öÇÏ°í ºÎÁö·±ÇÑ »ç¶÷À¸·Î ¾Ë·ÁÁ® ÀÖ´Ù.

À¥ ¹®¼­¸¦ Àоî¿Í Ãâ·ÂÇÏ´Â °úÁ¤Àº »ó»óÀ» ÃÊ¿ùÇÒ Á¤µµ·Î º¹ÀâÇÏ´Ù. ÀÌ·± º¹ÀâÇÑ µ¿ÀÛÀ» ÇÏ´Â À¥ ºê¶ó¿ìÀú¸¦ ÄÁÆ®·Ñ Çϳª¸¸ ¹èÄ¡ÇÏ¸é ½±°Ô ¸¸µé ¼ö ÀÖ´Ù. Á¤¸» °£´ÜÇÏÁö ¾ÊÀº°¡? ÀÌ°Ô ¹Ù·Î ÄÄÆ÷³ÍÆ®ÀÇ ¸Å·ÂÀÌ¸ç °´Ã¼ÁöÇâÀÇ °­·ÂÇÔÀÌ´Ù.

27-2-6.MDI

MDI(Multiple Document Interface)´Â Æû ¾È¿¡ ÀÚ½Ä ÆûÀ» ¿©·¯ °³ ¿­ ¼ö ÀÖ´Â ÇüÅÂÀÇ ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ´Ù. MDI¸¦ »ç¿ëÇÏ´Â ´ëÇ¥ÀûÀÎ ÀÀ¿ë ÇÁ·Î±×·¥À¸·Î ¿¢¼¿À̳ª Æ÷Åä¼¥ÀÌ Àִµ¥ ¿©·¯ °³ÀÇ ¿öÅ©½ÃÆ®³ª »çÁøÀ» µ¿½Ã¿¡ ¿­¾î ³õ°í ÀÛ¾÷ÇÒ ¼ö ÀÖ´Ù. ¹Ý´ë °³³äÀº SDIÀε¥ ÇÑ ¹ø¿¡ ÇϳªÀÇ ¹®¼­¸¸ ¿­ ¼ö ÀÖÀ¸¸ç ¸Þ¸ðÀåÀÌ ´ëÇ¥ÀûÀÌ´Ù.

Ãʺ¸ÀÚ¿¡°Ô È¥¶õÀ» Áشٴ ÀÌÀ¯·Î ¿äÁòÀº °ÅÀÇ »ç¿ëµÇÁö ¾ÊÀ¸¸ç ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®´Â MDI¸¦ »ç¿ëÇÏÁö ¸» °ÍÀ» °ø½ÄÀûÀ¸·Î ±Ç°íÇÏ°í ÀÖ´Ù. ±×·¡¼­ ¿äÁòÀº ¹®¼­´ç ÇϳªÀÇ À©µµ¿ì¸¦ ¿©´Â DOI°¡ ´õ À¯ÇàÇÏ°í ÀÖÀ¸¸ç ¿öµå¸¦ ÇʵηΠÇÏ¿© ¾Æ·¡ ÇÑ±Û µîµµ ¸ðµÎ DOI(Document Oriented Interface)·Î ÀüȯÇß´Ù.

±×·¯³ª ¾ÆÁ÷±îÁöµµ MDI°¡ À¯¿ëÇÑ °æ¿ì°¡ ³²¾Æ ÀÖ¾î ´ëºÎºÐÀÇ °³¹ßÅøÀº MDI¸¦ Áö¿øÇÏ¸ç ´å³Ýµµ MDI¸¦ Àß Áö¿øÇÑ´Ù. ±×·¯³ª Àü¹ÝÀûÀ¸·Î MDI¸¦ ȸÇÇÇÏ´Â Ãß¼¼¿©¼­ »ý»ö¸¸ ³»´Â Á¤µµ¿¡ ±×Ä¡°í ÀÖ´Ù. ³Ê¹« ±íÀÌ ¿¬±¸ÇØ º¼ ÇÊ¿ä´Â ¾øÀ¸¸ç ´ÙÀ½ ´Ü°è¸¦ µû¶ó °£´ÜÇÑ ¿¹Á¦ Çϳª¸¸ ¸¸µé¾î º¸ÀÚ.

 

  »õ ÇÁ·ÎÁ§Æ®¸¦ ¸¸µç ÈÄ Form1ÀÇ IsMdiContainer ÇÁ·ÎÆÛƼ¸¦ true·Î ÁöÁ¤ÇÑ´Ù. ÀÌ ÇÁ·ÎÆÛƼ¸¦ true·Î ÁöÁ¤Çϸé MDI ÇÁ·¹ÀÓ À©µµ¿ì·Î »ç¿ëµÇ¸ç ¹è°æ»öÀº £Àº ȸ»öÀÌ µÈ´Ù. ÇÁ·¹ÀÓ À©µµ¿ì´Â ³»ºÎ¿¡ ÀÚ½Ä Æû ¿©·¯ °³¸¦ °ü¸®ÇØ¾ß ÇϹǷΠÀÚ½Ä Æûº¸´Ù Ä¿¾ß ÇÑ´Ù.

 ÀÚ½ÄâÀ» °ü¸®Çϱâ À§ÇÑ ¸Þ´º¸¦ ¸¸µç´Ù. MenuStrip ÄÄÆ÷³ÍÆ®¸¦ ¹èÄ¡ÇÏ°í ÆÄÀÏ°ú â ¸Þ´º¸¦ ¸¸µç´Ù.

 

»õ·Î¿î ¹®¼­¸¦ ¸¸µé°í ´Ý´Â ¸í·É°ú ÀÚ½ÄâÀ» Á¤·ÄÇÏ´Â ¸í·ÉÀÌ´Ù. ¹°·Ð ½ÇÁ¦ ÇÁ·ÎÁ§Æ®¿¡¼­´Â ÀÀ¿ë ÇÁ·Î±×·¥ °íÀ¯ÀÇ ¸Þ´ºµµ °°ÀÌ ¸¸µé¾î¾ß ÇÑ´Ù.

 ÇÁ·ÎÁ§Æ®/±¸¼º ¿ä¼Ò Ãß°¡ ¸Þ´º Ç׸ñÀ» ¼±ÅÃÇÑ ÈÄ »õ·Î¿î ÆûÀ» Çϳª ´õ Ãß°¡ÇÑ´Ù. Form2 ºó ÆûÀÌ »ý¼ºµÈ´Ù. ¿©±â¿¡ ÅؽºÆ® ¹Ú½º¸¦ ¹èÄ¡ÇÏ°í Multiline ÇÁ·ÎÆÛƼ¸¦ true·Î, Dock ÇÁ·ÎÆÛƼ¸¦ Fill·Î ÁöÁ¤ÇÑ´Ù. °£´ÜÇÑ ÅؽºÆ® ÆíÁýâÀ» ¸¸µç °ÍÀε¥ ½ÇÁ¦ ÇÁ·ÎÁ§Æ®¿¡¼­´Â ÀÛ¾÷ ³»¿ë¿¡ ¸Â°Ô ÄÁÆ®·ÑÀ» ¹èÄ¡ÇÏ°í Äڵ带 ÀÛ¼ºÇÏ¸é µÈ´Ù.

 ¸ÞÀÎ Æû¿¡ ÀÚ½Ä ÆûÀ» °ü¸®ÇÏ´Â ¸í·ÉÀ» ÀÛ¼ºÇÑ´Ù. ¸Þ´º Ç׸ñÀ» Â÷·Ê´ë·Î ´õºíŬ¸¯ÇÏ¿© Click À̺¥Æ® Çڵ鷯¸¦ »ý¼ºÇÏ°í ´ÙÀ½ Äڵ带 ÀÛ¼ºÇÑ´Ù.

 

MDIForm

using System; ~ using System.Windows.Forms;

 

namespace MDIForm {

             public partial class Form1 : Form {

                           public Form1() {

                                        InitializeComponent();

                           }

 

                           private void »õÆÄÀÏNToolStripMenuItem_Click(object sender, EventArgs e) {

                                        Form2 Child = new Form2();

                                        Child.MdiParent = this;

                                        Child.Show();

                           }

 

                           private void ´Ý±âCToolStripMenuItem_Click(object sender, EventArgs e) {

                                        Form Child = ActiveMdiChild;

                                        if (Child != null) {

                                                     Child.Close();

                                        }

                           }

 

                           private void °è´Ü½ÄÁ¤·ÄCToolStripMenuItem_Click(object sender, EventArgs e) {

                                        LayoutMdi(MdiLayout.Cascade);

                           }

 

                           private void ¼öÆò¹ÙµÏÆÇÁ¤·ÄHToolStripMenuItem_Click(object sender, EventArgs e) {

                                        LayoutMdi(MdiLayout.TileHorizontal);

                           }

 

                           private void ¼öÁ÷¹ÙµÏÆÇÁ¤·ÄVToolStripMenuItem_Click(object sender, EventArgs e) {

                                        LayoutMdi(MdiLayout.TileVertical);

                           }

             }

}

 

»õ·Î¿î ÀÚ½Ä ÆûÀ» ¸¸µé ¶§´Â new ¿¬»êÀÚ·Î Æû °´Ã¼¸¦ ¸¸µé°í MdiParent¿¡ ÇÁ·¹ÀÓ À©µµ¿ì¸¦ ´ëÀÔÇÑ´Ù. Show ¸Þ¼­µå·Î ÀÚ½Ä ÆûÀ» º¸À̸é ÇÁ·¹ÀÓ À©µµ¿ì ¾È¿¡ ³ªÅ¸³­´Ù. ´ÝÀ» ¶§´Â ÇÁ·¹ÀÓÀÇ ActiveMdiChild ÇÁ·ÎÆÛƼ·Î ÇöÀç È°¼ºÆûÀ» ±¸ÇÑ ÈÄ Close ¸Þ¼­µå¸¦ È£ÃâÇÑ´Ù. ÀÚ½ÄâÀ» Á¤·ÄÇÒ ¶§´Â LayoutMdi ¸Þ¼­µå¸¦ È£ÃâÇ쵂 Àμö·Î °è´Ü½Ä, ¼öÆò ¹ÙµÏÆÇ, ¼öÁ÷ ¹ÙµÏÆÇ µîÀÇ ¿É¼ÇÀ» Àü´ÞÇÑ´Ù.

MDI ÇÁ·Î±×·¥ÀÇ Ã¢ ¸Þ´º¿¡´Â ÇöÀç ¿­·ÁÁø ¹®¼­Ã¢ÀÇ ¸ñ·ÏÀÌ ³ªÅ¸³ª¸ç ÀÌ ¸Þ´º¸¦ ÅëÇØ ÀÚ½Äâ Áß Çϳª·Î ÀüȯÇÑ´Ù. ´å³ÝÀº ÀÌ ±â´ÉÀ» ÀÚµ¿À¸·Î ±¸ÇöÇÏ´Â ±â´Éµµ Á¦°øÇϴµ¥ ¾ÈŸ±õ°Ôµµ ±¸Çü MainMenu ÄÄÆ÷³ÍÆ®¿¡¸¸ ÀÌ ±â´ÉÀÌ ÀÖ°í »õ·Î Ãß°¡µÈ MenuStrip ÄÄÆ÷³ÍÆ®´Â Áö¿øÇÏÁö ¾Ê´Â´Ù.