24-2.°øÅë ´ëÈ­»óÀÚ

24-2-1.ÆÄÀÏ ¿­±â

°øÅë ´ëÈ­»óÀÚ´Â ¿î¿µÃ¼Á¦°¡ ¹Ì¸® Á¦°øÇÏ´Â ´ëÈ­»óÀڷμ­ ÆÄÀÏÀ» ¼±ÅÃÇѴٵ簡 ÆùÆ®¸¦ ¼±ÅÃÇÒ ¶§ »ç¿ëÇÑ´Ù. ÇÏ´Â ÀÏÀº »·ÇÏÁö¸¸ ±¸Á¶°¡ º¹ÀâÇؼ­ Á÷Á¢ ¸¸µé±â´Â ¾î·Á¿îµ¥ ´ÙÇàÈ÷ ¿î¿µÃ¼Á¦°¡ Á¦°øÇϹǷΠºÒ·¯¼­ ¾²±â¸¸ ÇÏ¸é µÈ´Ù. Àç»ç¿ë¼ºÀÌ Å¹¿ùÇÏ¿© »ý»ê¼º Çâ»ó¿¡ Å©°Ô ±â¿©Çϸç ÇÁ·Î±×·¥¿¡ »ó°ü¾øÀÌ ÅëÀÏÀûÀÎ ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÑ´Ù. ¸Þ¸ðÀåÀ̳ª ºñÁÖ¾ó ½ºÆ©µð¿À³ª ÆÄÀÏ ¿­±â ´ëÈ­»óÀÚÀÇ ¸ð¾çÀº °ÅÀÇ µ¿ÀÏÇÏ´Ù.

´å³ÝÀÇ °øÅë ´ëÈ­»óÀÚ´Â Win32ÀÇ °øÅë ´ëÈ­»óÀÚ¸¦ ·¡ÇÎÇØ ³õÀº °ÍÀ̾ »ç¿ëÇغ» °æÇèÀÌ ÀÖ´Ù¸é ½±°Ô Àͼ÷ÇØÁú ¼ö ÀÖ´Ù. ±×·¯³ª ³Ê¹« ¶È°°ÀÌ º£³¢´Ù º¸´Ï ±â´ÉÀûÀÎ °³¼±Àº °ÅÀÇ ¾ø°í ¿ÀÈ÷·Á ÇѰ踸 ÀÖ´Ù. ã±â, ¹Ù²Ù±â ´ëÈ­»óÀÚ´Â Áö¿øÇÏÁö ¾ÊÀ¸¸ç Ä¿½ºÅ͸¶ÀÌ¡Çϱ⵵ ¾î·Æ´Ù. ´å³ÝÀº °øÅë ´ëÈ­»óÀÚµµ Ŭ·¡½º·Î Á¦°øÇϴµ¥ °èÃþ ±¸Á¶´Â ´ÙÀ½°ú °°´Ù.

ÆÄÀÏ ¿­±â, ÆÄÀÏ ÀúÀå ´ëÈ­»óÀÚ´Â FileDialog Ãß»ó Ŭ·¡½º·ÎºÎÅÍ ÆÄ»ýµÈ OpenFileDialog, SaveFileDialog Ŭ·¡½º·Î Ç¥ÇöÇÑ´Ù. µÎ ´ëÈ­»óÀÚ´Â ¸ð¾çÀ̳ª ±â´É»ó ¸¹Àº Ư¼ºÀ» °øÀ¯ÇÏ¸ç ´ëºÎºÐÀÇ ±â´ÉÀ» FileDialog·ÎºÎÅÍ »ó¼Ó¹Þ´Â´Ù. ´ÙÀ½Àº FileDialog Ŭ·¡½ºÀÇ ÁÖ¿ä ÇÁ·ÎÆÛƼÀÌ´Ù.

 

ÇÁ·ÎÆÛƼ

ŸÀÔ

¼³¸í

AddExtension

bool

È®ÀåÀÚ¸¦ »ý·«ÇÏ°í ÆÄÀÏ¸í¸¸ ÀÔ·ÂÇÒ ¶§ È®ÀåÀÚ¸¦ ÀÚµ¿À¸·Î Ãß°¡ÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÑ´Ù. Ãß°¡µÉ È®ÀåÀÚ´Â ÇÊÅÍ¿Í CheckFileExists ÇÁ·ÎÆÛƼ, DefaultExt ÇÁ·ÎÆÛƼ¿¡ µû¶ó ´Þ¶óÁø´Ù.

CheckFileExists

bool ¨â

ÆÄÀÏÀÌ Á¸ÀçÇÏ´ÂÁö Á¡°ËÇÑ´Ù. ÆÄÀÏÀÌ Á¸ÀçÇÏÁö ¾ÊÀ» ½Ã °æ°í ´ëÈ­»óÀÚ°¡ Ç¥½ÃµÈ´Ù. OpenFileDialogÀÇ µðÆúÆ®´Â trueÀÌ°í SaveFileDialogÀÇ µðÆúÆ®´Â falseÀÌ´Ù.

CheckPathExists

bool

°æ·Î°¡ Á¸ÀçÇÏ´ÂÁö Á¡°ËÇÑ´Ù. °æ·Î°¡ Á¸ÀçÇÏÁö ¾ÊÀ¸¸é °æ°í ´ëÈ­»óÀÚ°¡ Ç¥½ÃµÈ´Ù.

DefaultExt

string

È®ÀåÀÚ¸¦ »ý·«ÇÒ ¶§ Àû¿ëÇÒ ±âº» È®ÀåÀÚ¸¦ ÁöÁ¤ÇÑ´Ù. È®ÀåÀÚ¿¡´Â . ¹®ÀÚ°¡ Æ÷ÇԵǾî ÀÖÁö ¾Ê´Ù.

FileName

string

´ëÈ­»óÀÚ¿¡¼­ ¼±ÅÃÇÑ ÆÄÀÏÀÇ À̸§ÀÌ´Ù. °æ·Î¿Í È®ÀåÀÚ¸¦ ¸ðµÎ Æ÷ÇÔÇÏ´Â ¿ÏÀü °æ·ÎÀÌ´Ù.

FileNames

string[]

º¹¼ö °³ÀÇ ÆÄÀÏÀ» ¼±ÅÃÇßÀ» ¶§ ¼±ÅÃµÈ ÆÄÀϸíÀÇ ¹è¿­ÀÌ´Ù. ¸ðµç ÆÄÀϸíÀº °æ·Î¿Í È®ÀåÀÚ¸¦ Æ÷ÇÔÇÏ´Â ¿ÏÀü °æ·ÎÀÌ´Ù.

Filter

string

´ëÈ­»óÀÚÀÇ ÆÄÀÏ Çü½Ä¿¡ Ç¥½ÃÇÒ ÇÊÅÍ ¹®ÀÚ¿­ÀÌ´Ù. | ¹®ÀÚ¸¦ ±âÁØÀ¸·Î ¼³¸í°ú ÆÐÅÏÀ¸·Î ±¸¼ºµÇ¸ç ÀÌ·± ÇÊÅÍ°¡ ¿©·¯ °³ ¿¬ÀÌ¾î ³ª¿Â´Ù. ÆÐÅÏ¿¡´Â ¼¼¹ÌÄÝ·ÐÀ¸·Î ±¸ºÐµÈ ¿©·¯ °³ÀÇ ÆÐÅÏÀÌ µ¿½Ã¿¡ ¿Ã ¼ö ÀÖ´Ù.

FilterIndex

int

ÇöÀç ¼±ÅÃÇÑ ÇÊÅÍÀÇ À妽ºÀÌ´Ù. µðÆúÆ®´Â 1ÀÌ´Ù.

InitialDirectory

string

´ëÈ­»óÀÚ°¡ ¿­¸± ¶§ óÀ½ Ç¥½ÃÇÒ Ãʱ⠵ð·ºÅ͸®ÀÇ °æ·ÎÀÌ´Ù. ºó ¹®ÀÚ¿­ÀÏ °æ¿ì ¸¶Áö¸·À¸·Î ¿­¾ú´ø µð·ºÅ͸®°¡ Ç¥½ÃµÈ´Ù.

Options

int

ÆÄÀÏ ´ëÈ­»óÀÚÀÇ µ¿ÀÛ¿¡ ¿µÇâÀ» ÁÖ´Â ¿É¼ÇÀ» ÁöÁ¤ÇÑ´Ù. Äڵ忡¼­ ÀÌ °ªÀ» Á÷Á¢ »ç¿ëÇÏÁö´Â ¾ÊÀ¸¸ç ´å³Ý ¶óÀ̺귯¸®°¡ ³»ºÎÀûÀ¸·Î »ç¿ëÇÑ´Ù.

RestoreDirectory

bool

´ëÈ­»óÀÚ¸¦ ´Ý±â Àü¿¡ ÇöÀç µð·ºÅ͸®¸¦ º¹¿øÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÑ´Ù.

ShowHelp

bool

µµ¿ò¸» ¹öÆ°À» Ç¥½ÃÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÑ´Ù.

Title

string

´ëÈ­»óÀÚÀÇ Å¸ÀÌƲ ¹Ù¿¡ Ç¥½ÃÇÒ Á¦¸ñÀÌ´Ù.

ValidateNames

bool

Win32 ±ÔÄ¢¿¡ À¯È¿ÇÑ ÆÄÀÏ¸í¸¸ »ç¿ëÇÒ ¼ö ÀÖ´ÂÁö¸¦ ÁöÁ¤ÇÑ´Ù.

 

´ëÈ­»óÀÚÀÇ Ä¸¼ÇÀ» ÁöÁ¤ÇÏ´Â Title, ÇÊÅ͸¦ ÁöÁ¤ÇÏ´Â Filter, ½ÃÀÛ µð·ºÅ͸®¸¦ ÁöÁ¤ÇÏ´Â InitialDirectory µîÀÇ ÇÁ·ÎÆÛƼ´Â ÀԷ¿ëÀ̹ǷΠ´ëÈ­»óÀÚ¸¦ ¿­±â Àü¿¡ ¹Ì¸® ¿øÇÏ´Â °ªÀ¸·Î ¼³Á¤ÇØ¾ß ÇÑ´Ù. ÀÌ¿¡ ºñÇØ FileName°ú FileNames ÇÁ·ÎÆÛƼ´Â »ç¿ëÀÚ°¡ ¼±ÅÃÇÑ ÆÄÀÏ¿¡ ´ëÇÑ Á¤º¸¸¦ ¸®ÅÏÇϱâ À§ÇÑ Ãâ·Â¿ëÀ̹ǷΠ´ëÈ­»óÀÚ ½ÇÇà ÈÄ¿¡ ÀÌ °ªÀ» ÀÐ¾î ¼±ÅÃµÈ ÆÄÀÏÀÇ °æ·Î¸¦ Á¶»çÇÑ´Ù. ÆÄÀÏ ¿­±â ´ëÈ­»óÀÚ´Â ´ÙÀ½ ÇÁ·ÎÆÛƼ¸¦ Ãß°¡·Î °¡Áø´Ù. ÇѲ¨¹ø¿¡ º¹¼ö °³ÀÇ ÆÄÀÏÀ» ¼±ÅÃÇÒ ¼ö ÀÖÀ¸¸ç Àбâ Àü¿ë ¿É¼ÇÀ» ¼±ÅÃÇÒ ¼ö ÀÖ´Ù.

 

ÇÁ·ÎÆÛƼ

ŸÀÔ

¼³¸í

MultiSelect

bool

º¹¼ö °³ÀÇ ÆÄÀÏÀ» ¼±ÅÃÇÒ ¼ö ÀÖ´ÂÁö¸¦ ÁöÁ¤ÇÑ´Ù.

ReadOnlyChecked

bool

Àбâ Àü¿ë üũ ¹Ú½º°¡ ¼±ÅõǾî ÀÖ´ÂÁö¸¦ Ç¥½ÃÇÑ´Ù.

ShowReadOnly

bool

Àбâ Àü¿ë üũ ¹Ú½º¸¦ Ç¥½ÃÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÑ´Ù.

 

ÆÄÀÏ ÀúÀå ´ëÈ­»óÀÚ´Â ´ÙÀ½ ÇÁ·ÎÆÛƼ¸¦ Ãß°¡·Î °¡Áø´Ù. ¾ø´Â ÆÄÀÏ¿¡ ´ëÇÑ Ã³¸® ¹æ½Ä°ú µ¤¾î ¾²±â ¿©ºÎ¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ´Ù.

 

ÇÁ·ÎÆÛƼ

ŸÀÔ

¼³¸í

CreatePrompt

bool

Á¸ÀçÇÏÁö ¾Ê´Â ÆÄÀÏÀ» ¼±ÅÃÇßÀ» ¶§ ÀÌ ÆÄÀÏÀ» ¸¸µé °ÍÀÎÁö »ç¿ëÀÚ¿¡°Ô Áú¹®ÇÑ´Ù. µðÆúÆ®´Â falseÀε¥ ÀÌ °æ¿ì Áú¹®¾øÀÌ ÆÄÀÏÀ» ¸¸µç´Ù.

OverwritePrompt

bool

ÀÌ¹Ì Á¸ÀçÇÏ´Â ÆÄÀÏÀ» ÁöÁ¤ÇßÀ» ¶§ µ¤¾î ½áµµ µÇ´ÂÁö »ç¿ëÀÚ¿¡°Ô Áú¹®ÇÑ´Ù. ÀÌ °ªÀÌ falseÀ̸é Áú¹®¾øÀÌ ÆÄÀÏÀ» »õ·Î ¸¸µç´Ù. µðÆúÆ®´Â trueÀÌ´Ù.

 

ÆÄÀÏÀ» ¿­ ¶§´Â Á¸ÀçÇÏÁö ¾Ê´Â ÆÄÀÏÀ» ¸¸µç´Ù°Å³ª µ¤¾î ¾²±â¸¦ ÇÒ ¿°·Á°¡ ¾ø´Ù. ¶Ç ÆÄÀÏÀ» ÀúÀåÇÒ ¶§´Â º¹¼ö ¼±ÅÃÀ̳ª Àбâ Àü¿ëÀÌ Àǹ̰¡ ¾ø´Ù. ±×·¡¼­ µÎ ´ëÈ­»óÀÚÀÇ Å¬·¡½º°¡ µû·Î ¼±¾ðµÇ¾î ÀÖÀ¸¸ç °øÅë ¼Ó¼ºÀº FileDialog·ÎºÎÅÍ »ó¼Ó¹Þµµ·Ï µÇ¾î ÀÖ´Ù. ´ÙÀ½Àº ÆÄÀÏ ¿­±â ´ëÈ­»óÀÚ¸¦ »ç¿ëÇÏ´Â °£´ÜÇÑ ¿¹Á¦ÀÌ´Ù.

 

OpenFile

using System; ~ using System.Windows.Forms;

 

namespace OpenFile {

             public partial class Form1 : Form {

                           public Form1() {

                                        InitializeComponent();

                           }

 

                           private void button1_Click(object sender, EventArgs e) {

                                        if (openFileDialog1.ShowDialog() == DialogResult.OK) {

                                                     MessageBox.Show(openFileDialog1.FileName + "¸¦ ¼±ÅÃÇß½À´Ï´Ù.");

                                        }

                           }

             }

}

 

ºó Æû¿¡ FileOpenDialog ÄÁÆ®·Ñ°ú ÀÌ ´ëÈ­»óÀÚ¸¦ È£ÃâÇÏ´Â ¹öÆ°À» ¹èÄ¡Çß´Ù. ÆÄÀÏ ¿­±â ´ëÈ­»óÀÚ´Â º°µµÀÇ ¸í·ÉÀ» ³»¸®±â Àü¿¡´Â º¸ÀÌÁö ¾ÊÀ¸¹Ç·Î ¾Æ·¡ÂÊÀÇ Æ®·¹ÀÌ¿¡ ¹èÄ¡µÈ´Ù.

Æ®·¹ÀÌ¿¡¼­ ¼±ÅÃÇÑ ÈÄ ¼Ó¼ºÃ¢¿¡¼­ ÇÁ·ÎÆÛƼ¸¦ ¼öÁ¤Ç쵂 µðÆúÆ® ÇÁ·ÎÆÛƼ·Îµµ ÆÄÀÏÀ» ¼±ÅÃÇϴµ¥´Â º° ¹®Á¦°¡ ¾ø´Ù. ¹öÆ°ÀÇ Click À̺¥Æ® Çڵ鷯¿¡¼­ ShowDialog ¸Þ¼­µå¸¦ È£ÃâÇÏ¿© ÆÄÀÏ ¿­±â ´ëÈ­»óÀÚ¸¦ ½ÇÇàÇÑ´Ù. ´Ã»ó ºÁ¿À´ø Àͼ÷ÇÑ ´ëÈ­»óÀÚ°¡ ³ªÅ¸³­´Ù.

°øÅë ´ëÈ­»óÀÚ´Â ¿î¿µÃ¼Á¦ ¹öÀü¿¡ µû¶ó ¸ð¾çÀ̳ª ±â´É¿¡ Á¶±Ý¾¿ Â÷ÀÌ°¡ ÀÖ´Ù. À§ ±×¸²Àº À©µµ¿ì10ÀÇ ÆÄÀÏ ¿­±â ´ëÈ­»óÀÚÀÌ¸ç ºñ½ºÅ¸, XP¿¡¼­´Â ´ÙÀ½ ´ëÈ­»óÀÚ°¡ ³ªÅ¸³­´Ù. ¸ð¾çÀÌ ´Ù¸¦ »Ó »ç¿ë ¹æ¹ýÀº °ÅÀÇ µ¿ÀÏÇÏ´Ù.

 

ÀÌ ´ëÈ­»óÀÚ´Â °ÅÀÇ Å½»ö±â¿Í °°¾Æ µå¶óÀ̺곪 Æú´õ¸¦ ¸¶À½´ë·Î À̵¿ÇÒ ¼ö ÀÖÀ¸¸ç ³×Æ®¿÷ Á¢¼Ó±îÁö °¡´ÉÇÏ´Ù. ÇÊ¿äÇÏ´Ù¸é ÆÄÀÏÀ» º¹»çÇϰųª »èÁ¦ÇÏ´Â °ü¸®µµ ÇÒ ¼ö ÀÖ´Ù. »ç¿ëÀÚ°¡ È®ÀÎ ¹öÆ°À» ´©¸£¸é OK°¡ ¸®ÅϵǸç À̶§ »ç¿ëÀÚ°¡ ¾î¶² ÆÄÀÏÀ» ¼±ÅÃÇß´ÂÁö FileName ÇÁ·ÎÆÛƼ¸¦ ÀÐ¾î ¸Þ½ÃÁö ¹Ú½º·Î Ãâ·ÂÇß´Ù.

ÆÄÀÏ ¿­±â ´ëÈ­»óÀÚ´Â ÆÄÀÏÀÇ °æ·Î¸¸ ÀԷ¹ÞÀ» »Ó ½ÇÁ¦·Î ÆÄÀÏ ÀÔÃâ·ÂÀº ÇÏÁö ¾Ê´Â´Ù. ÀԷ¹ÞÀº °æ·ÎÀÇ ÆÄÀÏÀ» ¿­¾î ÀÔÃâ·ÂÇÏ´Â ÄÚµå´Â µû·Î ÀÛ¼ºÇØ¾ß ÇÑ´Ù. ¿¹Á¦¿¡¼­´Â ¸Þ½ÃÁö ¹Ú½º·Î °æ·Î¸¸ Ãâ·ÂÇߴµ¥ if ºí·ÏÀÇ ¾ÈÂÊ¿¡´Â À¸·Ê ÆÄÀÏÀ» ´ë»óÀ¸·Î ÀÛ¾÷ÇÏ´Â Äڵ尡 µû¶ó ¿Â´Ù. ´ÙÀ½ ÄÚµå´Â ÆÄÀÏ ¿­±â ´ëÈ­»óÀÚÀÇ ¿©·¯ ÇÁ·ÎÆÛƼ¸¦ ´Ù¾çÇÏ°Ô ¹Ù²ã È£ÃâÇÑ´Ù.

 

private void button1_Click(object sender, EventArgs e) {

         openFileDialog1.InitialDirectory = "C:\\";

         openFileDialog1.Title = "ÆÄÀÏÀ» Àì½Î°Ô °í¸£¼Å";

         openFileDialog1.Filter = "ÅؽºÆ® ÆÄÀÏ|*.txt|¸ðµç ÆÄÀÏ|*.*";

         openFileDialog1.ShowReadOnly = true;

         openFileDialog1.Multiselect = true;

         if (openFileDialog1.ShowDialog() == DialogResult.OK) {

                      foreach (string file in openFileDialog1.FileNames) {

                                   MessageBox.Show(file + "¸¦ ¼±ÅÃÇß½À´Ï´Ù.");

                      }

         }

}

 

ShowDialog ¸Þ¼­µå·Î ´ëÈ­»óÀÚ¸¦ ¿­±â Àü¿¡ ÇÁ·ÎÆÛƼ¸¦ ÀÌ°Í Àú°Í ¹Ù²ã º¸¾Ò´Ù. ½ÇÇàÇØ º¸°í ¾Õ ÄÚµå¿Í ¾î¶² Á¡ÀÌ ´Þ¶óÁ³´ÂÁö ºñ±³ÇØ º¸¾Æ¶ó. ´ëÈ­»óÀÚ°¡ ¿­¸®ÀÚ ¸¶ÀÚ C µå¶óÀ̺êÀÇ ·çÆ® µð·ºÅ͸®°¡ Ç¥½ÃµÇ¸ç ŸÀÌƲ ¹Ù¿¡´Â "ÆÄÀÏÀ» Àì½Î°Ô °í¸£¼Å"¶ó´Â Á¡ÀÝÀº ¾È³»¹®µµ ÀûÇô ÀÖ´Ù. ÇÊÅÍ ÄÞº¸ ¹Ú½º¸¦ ¿­¾î º¸¸é ÅؽºÆ® ÆÄÀÏ°ú ¸ðµç ÆÄÀÏ µÎ Á¾·ùÀÇ Çü½ÄÀÌ Áö¿øµÇ¸ç ÆÄÀÏ Çü½Ä ¾Æ·¡ÂÊ¿¡´Â "Àбâ Àü¿ëÀ¸·Î ¿­±â"¶ó´Â üũ ¹Ú½º°¡ ¹èÄ¡µÇ¾î ÀÖ´Ù.

MultiSelect ÇÁ·ÎÆÛƼ¸¦ true·Î ÁöÁ¤ÇßÀ¸¹Ç·Î Ctrl, Shift Å°¿Í ÇÔ²² ¿©·¯ °³ÀÇ ÆÄÀÏÀ» ¼±ÅÃÇÒ ¼ö ÀÖÀ¸¸ç µå·¡±×ÇÏ¿© ¹üÀ§¸¦ ÇѲ¨¹ø¿¡ ¼±ÅÃÇÒ ¼öµµ ÀÖ´Ù. º¹¼ö ¼±ÅÃÀ» ÇßÀ» ¶§´Â FileName ÇÁ·ÎÆÛƼ°¡ ¾Æ´Ñ FileNames ÇÁ·ÎÆÛƼ¸¦ Àд´Ù. ¿¹Á¦¿¡¼­´Â foreach·Î ·çÇÁ¸¦ µ¹¸ç ¼±ÅÃÇÑ ¸ðµç ÆÄÀÏÀ» ¸Þ½ÃÁö ¹Ú½º·Î ÀÏÀÏÀÌ Ãâ·ÂÇØ º¸¾Ò´Ù. ÆÄÀÏ ÀúÀå ´ëÈ­»óÀÚµµ »ç¿ëÇÏ´Â ¹æ¹ýÀº µ¿ÀÏÇÏ´Ù.

24-2-2.Æú´õ ¼±Åà ´ëÈ­»óÀÚ

ÆÄÀÏ ¿­±â ´ëÈ­»óÀÚ´Â ÆÄÀϸ¸ ¼±ÅÃÇÒ ¼ö ÀÖÀ¸¸ç Æú´õ´Â ¼±ÅÃÇÒ ¼ö ¾ø´Ù. Æú´õµµ ¸ñ·Ï¿¡ ³ª¿ÀÁö¸¸ Æú´õ ¾ÈÀÇ ÆÄÀÏÀ» À§ÇÑ ÁøÀÔÁ¡ÀÏ »ÓÀ̾ Æú´õ¸¦ ´õºíŬ¸¯ÇÏ¸é ¾ÈÀ¸·Î µé¾î°¡ ¹ö¸°´Ù. ±×·¡¼­ ÆÄÀÏ ¿­±â ´ëÈ­»óÀڷδ Æú´õ¸¦ ¼±ÅÃÇÒ ¼ö ¾øÀ¸¸ç º°µµ·Î Á¦°øµÇ´Â Æú´õ ¼±Åà ´ëÈ­»óÀÚ¸¦ »ç¿ëÇÑ´Ù. ÀÌ ´ëÈ­»óÀÚ¿¡´Â ÆÄÀÏÀº »©°í ¿À·ÎÁö Æú´õÀÇ ¸ñ·Ï¸¸ ³ªÅ¸³­´Ù. ¼³Ä¡ ÇÁ·Î±×·¥¿¡¼­ ¼³Ä¡ °æ·Î¸¦ ¹°À» ¶§ ÀÌ ´ëÈ­»óÀÚ¸¦ »ç¿ëÇÑ´Ù.

Æú´õ ¼±Åà ´ëÈ­»óÀÚ´Â ¾ö¹ÐÈ÷ ¸»ÇÏÀÚ¸é ¿î¿µÃ¼Á¦°¡ Á¦°øÇÏ´Â °øÅë ´ëÈ­»óÀÚ´Â ¾Æ´Ï´Ù. ´Ù¸¸ ½©, ±¸Ã¼ÀûÀ¸·Î Ž»ö±â°¡ Á¦°øÇÏ´Â È®Àå ÇÔ¼ö¿¡ ÀÇÇØ Áö¿øµÇ´Âµ¥ Ž»ö±â°¡ ¼³Ä¡µÇÁö ¾ÊÀº ½Ã½ºÅÛÀº ¾øÀ¸¹Ç·Î ¾ðÁ¦³ª »ç¿ëÇÒ ¼ö ÀÖ´Ù. ´å³Ý¿¡¼­´Â ÆíÀÇ»ó °øÅë ´ëÈ­»óÀÚÀÇ ÀÏÁ¾À¸·Î ºÐ·ùÇϸç CommonDialog·ÎºÎÅÍ ÆÄ»ýµÈ´Ù. ÆÄÀÏ ´ëÈ­»óÀÚ¿¡ ºñÇØ °£´ÜÇϱ⠶§¹®¿¡ ÇÁ·ÎÆÛƼÀÇ ¸ñ·Ïµµ ¸¹Áö ¾Ê´Ù.

 

ÇÁ·ÎÆÛƼ

ŸÀÔ

¼³¸í

Description

string

´ëÈ­»óÀÚ À§ÂÊÀÇ ¼³¸í ÅؽºÆ®ÀÌ´Ù. ¾î¶² Æú´õ¸¦ ¼±ÅÃÇ϶ó´Â °£´ÜÇÑ ¾È³»¹®À» Ç¥½ÃÇÒ ¼ö ÀÖ´Ù.

RootFolder

SpecialFolder

°Ë»öÀ» ½ÃÀÛÇÒ ·çÆ® Æú´õ¸¦ ÁöÁ¤ÇÑ´Ù. µðÆúÆ®´Â DesktopÀ̹ǷΠ¹ÙÅÁ È­¸é ¾Æ·¡ÀÇ ¸ðµç Æú´õ¸¦ °Ë»öÇÒ ¼ö ÀÖ´Ù.

SelectedPath

string

»ç¿ëÀÚ°¡ ¼±ÅÃÇÑ °æ·ÎÀÌ´Ù.

ShowNewFolderButton

bool

»õ Æú´õ ¹öÆ°À» Ç¥½ÃÇÑ´Ù. ÀÌ ¹öÆ°ÀÌ ÀÖÀ¸¸é Æú´õ¸¦ ¼±ÅÃÇÏ´Â Áß¿¡ »ç¿ëÀÚ°¡ »õ·Î¿î Æú´õ¸¦ ¸¸µé ¼öµµ ÀÖ´Ù.

 

µðÆúÆ® ÇÁ·ÎÆÛƼ°¡ ¹«³­ÇÏ°Ô ¼³Á¤µÇ¾î ÀÖÀ¸¹Ç·Î º°´Ù¸¥ ¼öÁ¤¾øÀÌ °ð¹Ù·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù. Æû¿¡ FolderBrowserDialog ÄÁÆ®·Ñ°ú ´ëÈ­»óÀÚ È£ÃâÀ» À§ÇÑ ¹öÆ°À» ¹èÄ¡ÇÏ°í ´ÙÀ½ Äڵ带 ÀÛ¼ºÇÑ´Ù.

 

SelectFolder

using System; ~ using System.Windows.Forms;

 

namespace SelectFolder {

             public partial class Form1 : Form {

                           public Form1() {

                                        InitializeComponent();

                           }

 

                           private void button1_Click(object sender, EventArgs e) {

                                        if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) {

                                                     MessageBox.Show(folderBrowserDialog1.SelectedPath + "¸¦ ¼±ÅÃÇß½À´Ï´Ù.");

                                        }

                           }

             }

}

 

È£Ãâ ¹æ¹ýÀº ÆÄÀÏ ¿­±â ´ëÈ­»óÀÚ¿Í °°´Ù. ShowDialog·Î ´ëÈ­»óÀÚ¸¦ ¶ç¿ì°í OK°¡ ¸®ÅϵǾúÀ¸¸é SelectedPath ÇÁ·ÎÆÛƼ¸¦ ÀÐ¾î »ç¿ëÀÚ°¡ ¾î¶² Æú´õ¸¦ ¼±ÅÃÇß´ÂÁö Á¶»çÇÑ´Ù. ´ÙÀ½ ´ëÈ­»óÀÚ°¡ ³ªÅ¸³­´Ù.

ÀÌ ´ëÈ­»óÀÚ¿¡¼­ µå¶óÀ̺ê¿Í Æú´õ¸¦ ¼±ÅÃÇÑ ÈÄ È®ÀÎ ¹öÆ°¸¸ ´©¸£¸é µÈ´Ù. ÇÁ·Î±×·¥À» ¼³Ä¡ÇÒ ¿ëµµ·Î Æú´õ¸¦ ¼±ÅÃÇÒ ¶§´Â ¾Æ·¡ ÂÊÀÇ "»õ Æú´õ ¸¸µé±â" ¹öÆ°À» ´­·¯ »õ·Î¿î Æú´õ¸¦ ¸¸µé ¼öµµ ÀÖ´Ù. ¿¹Á¦¿¡¼­´Â ¼±ÅÃÇÑ Æú´õÀÇ °æ·Î¸¦ ¸Þ½ÃÁö ¹Ú½º·Î Ãâ·ÂÇß´Ù.

24-2-3.»ö»ó ¹× ÆùÆ®

»ö»óÀ» ÀԷ¹ÞÀ» ¶§´Â ColorDialog Ŭ·¡½º¸¦ »ç¿ëÇÑ´Ù. »ö»óÀº R, G, B ¼¼ Á¤¼ö°ªÀÇ Á¶ÇÕÀ¸·Î ÀÔ·ÂÇÒ ¼ö ÀÖÁö¸¸ Á¤¼ö¸¸À¸·Î´Â ½ÇÁ¦ »ö»óÀ» À¯ÃßÇϱ⠾î·Æ´Ù. »ö»ó ¼±Åà ´ëÈ­»óÀÚ¸¦ »ç¿ëÇϸé Á÷Á¢ º¸¸é¼­ ¼±ÅÃÇÒ ¼ö ÀÖ´Ù. »ç¿ëÇÏ´Â ¹æ¹ýÀº ÆÄÀÏ ¿­±â ´ëÈ­»óÀÚ¿Í °ÅÀÇ µ¿ÀÏÇϹǷΠÇÁ·ÎÆÛƼ ¸ñ·Ï¸¸ °£´ÜÇÏ°Ô Á¤¸®ÇØ º¸ÀÚ.

 

ÇÁ·ÎÆÛƼ

ŸÀÔ

¼³¸í

AllowFullOpen

bool ¨â

»ç¿ëÀÚ Á¤ÀÇ »ö»óÀ» ¼±ÅÃÇÒ ¼ö ÀÖ´ÂÁö¸¦ ÁöÁ¤ÇÑ´Ù. ÀÌ ÇÁ·ÎÆÛƼ°¡ trueÀÌ¸é ´ëÈ­»óÀÚ¸¦ ´õ Å©°Ô ÆîÃÄ Á÷Á¢ »ö»óÀ» ¼±ÅÃÇÒ ¼ö ÀÖ´Ù.

AnyColor

bool ¨â

»ç¿ë °¡´ÉÇÑ »öÀÌ ¸ðµÎ Ç¥½ÃµÇ´ÂÁö ÁöÁ¤ÇÑ´Ù.

Color

Color

»ç¿ëÀÚ°¡ ¼±ÅÃÇÑ »ö»óÀÌ´Ù.

CustomColors

int[]

»ç¿ëÀÚ Á¤ÀÇ »ö»óÀÇ ¹è¿­ÀÌ´Ù.

FullOpen

bool ¨â

´ëÈ­»óÀÚ°¡ ¿­¸± ¶§ »ç¿ëÀÚ Á¤ÀÇ»öÀ» ¼±ÅÃÇÏ´Â ºÎºÐÀÌ º¸ÀÌ´ÂÁö ÁöÁ¤ÇÑ´Ù.

Options

int ¨â

´å³Ý ¶óÀ̺귯¸®¿¡¼­ ³»ºÎÀûÀ¸·Î »ç¿ëÇϸç Äڵ忡¼­´Â »ç¿ëÇÏÁö ¾Ê´Â´Ù. Win32ÀÇ Ç÷¡±×¿¡ ÇØ´çÇÑ´Ù.

ShowHelp

bool ¨â

µµ¿ò¸» ¹öÆ°À» Ç¥½ÃÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÑ´Ù.

SolidColorOnly

bool ¨â

´Ü»ö¸¸ ¼±ÅÃÇÒ ¼ö ÀÖ´ÂÁö ÁöÁ¤ÇÑ´Ù. ÀÌ ÇÁ·ÎÆÛƼ°¡ falseÀ̸é 256 »ö»ó ÀÌÇÏÀÇ ¸ðµå¿¡¼­ È¥ÇÕ»öÀ» ¼±ÅÃÇÒ ¼ö ÀÖ´Ù.

 

ShowDialog ¸Þ¼­µå·Î ´ëÈ­»óÀÚ¸¦ È£ÃâÇÑ ÈÄ Color ÇÁ·ÎÆÛƼ¸¦ ÀÐÀ¸¸é »ç¿ëÀÚ°¡ ¾î¶² »ö»óÀ» ¼±ÅÃÇß´ÂÁö ¾Ë ¼ö ÀÖ´Ù. ´ëÈ­»óÀÚÀÇ ¸ð¾çÀº ´ÙÀ½°ú °°´Ù. Æò¼Ò¿¡´Â ±âº»»ö¸¸ º¸ÀÌÁö¸¸ ÆîÄ¡¸é »ç¿ëÀÚ°¡ Á÷Á¢ »öÀ» ¼±ÅÃÇÒ ¼ö ÀÖµµ·Ï È®ÀåµÈ´Ù. FullOpen ÇÁ·ÎÆÛƼ¸¦ true·Î ÁöÁ¤Çϸé óÀ½ºÎÅÍ ÆîÄ£ »óÅ·Π¿­¸°´Ù.

±Û²ÃÀ» ¼±ÅÃÇÒ ¶§´Â FontDialog Ŭ·¡½º¸¦ »ç¿ëÇÑ´Ù. ±Û²Ãµµ Á¤º¸°¡ ¸¹¾Æ Á÷Á¢ ÀԷ¹ޱâ´Â ±²ÀåÈ÷ ±î´Ù·Î¿îµ¥ °øÅë ´ëÈ­»óÀÚ¸¦ »ç¿ëÇÏ¸é ±Û²Ã À̸§°ú È¿°ú±îÁö º¸¸é¼­ ¼±ÅÃÇÒ ¼ö ÀÖ´Ù.

 

ÇÁ·ÎÆÛƼ

ŸÀÔ

¼³¸í

AllowScriptChange

bool

½ºÅ©¸³Æ® ÄÞº¸ ¹Ú½ºÀÇ ¹®ÀÚ ÁýÇÕÀ» º¯°æÇÒ ¼ö ÀÖ´ÂÁö ÁöÁ¤ÇÑ´Ù.

AllowSimulations

bool

±Û²Ã ½Ã¹Ä·¹À̼ÇÀ» »ç¿ëÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÑ´Ù.

AllowVectorFonts

bool

º¤ÅÍ ÆùÆ®¸¦ ¼±ÅÃÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÑ´Ù.

AllowVerticalFonts

bool

¼¼·Î ¹æÇâ ±Û²ÃÀ» ¼±ÅÃÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÑ´Ù. ÀϹÝÀûÀ¸·Î ÇÑ±Û ±Û²Ã¿¡´Â ¼¼·Î ¹æÇâ ÆùÆ®¸¦ Àß ¾²Áö ¾ÊÀ¸¹Ç·Î ¼±ÅÃÇÏÁö ¾Ê´Â °ÍÀÌ ÁÁ´Ù. µðÆúÆ®´Â trueÀÌ´Ù.

Color

Color

¼±ÅÃÇÑ ±Û²ÃÀÇ »ö»óÀÌ´Ù.

FixedPitchOnly

bool

°íÁ¤ Æø ±Û²Ã¸¸ ¼±ÅÃÇÒ ¼ö ÀÖ´ÂÁö¸¦ ÁöÁ¤ÇÑ´Ù.

Font

Font

»ç¿ëÀÚ°¡ ¼±ÅÃÇÑ ±Û²ÃÀÌ´Ù.

FontMustExist

bool

Á¸ÀçÇÏÁö ¾ÊÀº ±Û²ÃÀ̳ª ½ºÅ¸ÀÏÀ» ¼±ÅÃÇÏ¸é ¿À·ù ´ëÈ­»óÀÚ¸¦ Ç¥½ÃÇÑ´Ù.

MaxSize

int

¼±ÅÃÇÒ ¼ö ÀÖ´Â ÃÖ´ë Å©±â

MinSize

int

¼±ÅÃÇÒ ¼ö ÀÖ´Â ÃÖ¼Ò Å©±â

ScriptsOnly

bool

ANSI »Ó¸¸ ¾Æ´Ï¶ó ºñ OEM ±Û²Ãµµ ¼±ÅÃÇÒ ¼ö ÀÖ´Ù.

ShowApply

bool

Àû¿ë ¹öÆ°À» º¸ÀÏ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÑ´Ù.

ShowColor

bool

»ö»óÀ» ¼±ÅÃÇÒ ¼ö ÀÖ´Â ÄÁÆ®·ÑÀ» Ç¥½ÃÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÑ´Ù. »ö»óÀº ±Û²Ã°ú Á÷Á¢ÀûÀÎ ¿¬°üÀÌ ¾ø±â ¶§¹®¿¡ µðÆúÆ® °ªÀº falseÀÌ´Ù.

ShowEffects

bool

Ãë¼Ò¼±, ¹ØÁÙ µîÀ» ¼±ÅÃÇÒ ¼ö Àִ üũ ¹Ú½ºÀÇ Ç¥½Ã ¿©ºÎ¸¦ ÁöÁ¤ÇÑ´Ù.

ShowHelp

bool

µµ¿ò¸» ¹öÆ°À» Ç¥½ÃÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÑ´Ù.

 

´ëºÎºÐÀÇ ÇÁ·ÎÆÛƼ°¡ bool ŸÀÔÀε¥ ƯÁ¤ È¿°ú¸¦ ÀԷ¹ÞÀ» °ÍÀΰ¡, ƯÁ¤ ÇüÅÂÀÇ ±Û²ÃÀ» Æ÷ÇÔÇÒ °ÍÀΰ¡ µîÀÇ ¿É¼ÇÀ» ÁöÁ¤ÇÑ´Ù. µðÆúÆ® ÇÁ·ÎÆÛƼ¸¦ »ç¿ëÇßÀ» ¶§ ´ÙÀ½ ´ëÈ­»óÀÚ°¡ ³ªÅ¸³­´Ù. ±Û²ÃÀÇ À̸§, ½ºÅ¸ÀÏ, Å©±â, È¿°ú µîÀ» ¼±ÅÃÇÒ ¼ö ÀÖÀ¸¸ç ¹Ì¸® º¸±âµµ Á¦°øµÈ´Ù.

´ÙÀ½ ¿¹Á¦´Â Æû¿¡ ¹®ÀÚ¿­À» Ãâ·ÂÇ쵂 ¹®ÀÚ¿­ÀÇ »ö»ó°ú ±Û²ÃÀ» °øÅë ´ëÈ­»óÀÚ·Î ÀԷ¹޴´Ù. Æû¿¡ ¹öÆ° µÎ °³¿Í FontDialog, ColorDialog ÄÁÆ®·ÑÀ» °¢°¢ Çϳª¾¿ ¹èÄ¡ÇÑ´Ù. ¹öÆ°ÀÇ Ä¸¼Ç¸¸ "±Û²Ã ¼±ÅÃ", "»ö»ó ¼±ÅÃ"À¸·Î ¹Ù²Ù°í ³ª¸ÓÁö´Â µðÆúÆ® ÇÁ·ÎÆÛƼ¸¦ ¾²±â·Î ÇÑ´Ù.

 

ColorFont

using System; ~ using System.Windows.Forms;

 

namespace ColorFont {

             public partial class Form1 : Form {

                           private Font NowFont;

                           private Color NowColor;

                           public Form1() {

                                        InitializeComponent();

                           }

 

                           private void Form1_Paint(object sender, PaintEventArgs e) {

                                        SolidBrush S = new SolidBrush(NowColor);

                                        e.Graphics.DrawString("´ëÈ­»óÀÚ", NowFont, S, 10, 10);

 

                           }

 

                           private void Form1_Load(object sender, EventArgs e) {

                                        NowFont = this.Font;

                                        NowColor = Color.Black;

                           }

 

                           private void button1_Click(object sender, EventArgs e) {

                                        fontDialog1.Font = NowFont;

                                        if (fontDialog1.ShowDialog() == DialogResult.OK) {

                                                     NowFont = fontDialog1.Font;

                                                     Invalidate();

                                        }

                           }

 

                           private void button2_Click(object sender, EventArgs e) {

                                        colorDialog1.Color = NowColor;

                                        if (colorDialog1.ShowDialog() == DialogResult.OK) {

                                                     NowColor = colorDialog1.Color;

                                                     Invalidate();

                                        }

                           }

             }

}

 

NowFont¿Í NowColor°¡ Çʵå·Î ¼±¾ðµÇ¾î ÀÖÀ¸¸ç »ý¼ºÀÚ¿¡¼­ µðÆúÆ® ÆùÆ®¿Í °ËÁ¤»öÀ¸·Î ÃʱâÈ­Çß´Ù. Paint À̺¥Æ®¿¡¼­ ÀÌ Çʵ带 ÂüÁ¶ÇÏ¿© "´ëÈ­»óÀÚ"¶ó´Â ¹®ÀÚ¿­À» Ãâ·ÂÇÑ´Ù. NowFont´Â DrawStringÀÇ Àμö·Î Àü´ÞµÇ°í NowColor´Â ±Û²ÃÀ» Ãâ·ÂÇÏ´Â ºê·¯½Ã¿¡ Àû¿ëÇÑ´Ù. ÃÖÃÊ ½ÇÇàÇÏ¸é ¾ÆÁÖ ÀÛÀº °ËÁ¤»ö ±Û²Ã·Î Ãâ·ÂµÇÁö¸¸ ¾Æ·¡ ÂÊÀÇ µÎ ¹öÆ°À¸·Î ±Û²Ã°ú »ö»óÀ» ÆíÁýÇÒ ¼ö ÀÖ´Ù.

µÎ ¹öÆ°ÀÇ Click À̺¥Æ® Çڵ鷯´Â Çü½ÄÀÌ °ÅÀÇ °°´Ù. ÇöÀç ¼³Á¤°ªÀ» ´ëÈ­»óÀÚ·Î Àü´ÞÇÏ°í ShowDialog¸¦ È£ÃâÇÑ ÈÄ OK°¡ ¸®ÅϵǾúÀ¸¸é ´Ù½Ã µ¹·Á¹Þ´Â ½ÄÀÌ´Ù. ±Û²ÃÀÌµç »ö»óÀ̵ç Çϳª¶óµµ º¯°æµÇ¸é Invalidate¸¦ È£ÃâÇÏ¿© ´Ù½Ã ±×¸°´Ù.