19-3-1.¸¶¿ì½º ¸Þ½ÃÁö

±×·¡ÇÈ È¯°æ¿¡¼­ °¡Àå ÀÚÁÖ ¾Ö¿ëÇÏ´Â ÀÔ·Â ÀåÄ¡´Â ¸¶¿ì½ºÀ̸ç ÅÍÄ¡ Æе峪 Æ®·¢ º¼ °°Àº º¯Çü Àåºñµµ Æ÷ÇԵȴÙ. ¸¶¿ì½º´Â À̵¿À» °¨ÁöÇÏ´Â º¼ ¶Ç´Â ±¤ ¼¾¼­¿Í ¸î °³ÀÇ ¹öÆ°À¸·Î ±¸¼ºµÈ °£´ÜÇÑ ÀåºñÀÌÁö¸¸ ÃëÇÒ ¼ö ÀÖ´Â µ¿ÀÛÀº ¿¹»óº¸´Ù ¸¹´Ù.

°¢ ¹öÆ°Àº ´©¸§, ³õÀ½, ´õºíŬ¸¯ µ¿ÀÛÀÌ °¡´ÉÇÏ¸ç ¸¶¿ì½º ÀÚü´Â À̵¿ ¹× ÈÙ Á¶ÀÛÀÌ °¡´ÉÇÏ´Ù. ¸¶¿ì½º¸¦ ƯÁ¤ À§Ä¡·Î ¿Å±â´Â °Í¸¸ Çصµ ¸í·ÉÀÌ µÉ ¼ö ÀÖÀ¸¸ç ¹öÆ°À» ´©¸¥ ä·Î ²ø¾î¼­ ¿øÇÏ´Â °÷¿¡ ¶³¾î¶ß¸®´Â µå·¡±× & µå·Óµµ °¡´ÉÇÏ´Ù. Control Ŭ·¡½º´Â ¸¶¿ì½º ¸Þ½ÃÁö¸¦ ¹Þ±â À§ÇØ ´ÙÀ½ À̺¥Æ®¸¦ Á¦°øÇÑ´Ù.

 

public event MouseEventHandler MouseDown

public event MouseEventHandler MouseUp

public event MouseEventHandler MouseMove

public event MouseEventHandler MouseWheel

public event MouseEventHandler MouseClick

public event MouseEventHandler MouseDoubleClick

 

¸ðµÎ MouseEventHandler µ¨¸®°ÔÀÌÆ® ŸÀÔÀ¸·Î Á¤ÀǵǾî Àִµ¥ µ¿ÀÏÇÑ ÀåÄ¡·ÎºÎÅÍ ¹ß»ýÇϹǷΠÀ̺¥Æ®ÀÇ Á¤º¸µµ °øÀ¯ÇÑ´Ù. MouseEventArgs °´Ã¼¿¡´Â ¸¶¿ì½ºÀÇ À§Ä¡¿Í ¹öÆ°ÀÇ »óÅ¿¡ ´ëÇÑ Á¤º¸°¡ Æ÷ÇԵǾî ÀÖ´Ù. ¸ðµÎ Àбâ Àü¿ëÀÌ´Ù.

 

ÇÁ·ÎÆÛƼ

ŸÀÔ

¼³¸í

X, Y

int ¨Þ

¸¶¿ì½º Ä¿¼­ÀÇ À§Ä¡ÀÌ´Ù. º¸Åë ÀÛ¾÷¿µ¿ª ¿øÁ¡À» ±âÁØÀ¸·Î ÇÏÁö¸¸ µå·¡±× À̺¥Æ®ÀÇ °æ¿ì´Â È­¸é ÁÂÇ¥ÀÌ´Ù.

Button

MouseButtons ¨Þ

À̺¥Æ®°¡ ¹ß»ýÇÑ ¹öÆ°ÀÌ´Ù. MouseButtons ¿­°ÅÇü Áß ÇϳªÀÇ °ªÀ» °¡Áø´Ù. None, Left, Right, Middle, XButton1, XButton2 µîÀÇ ¹öÆ°ÀÌ ÀÖ´Ù.

Clicks

int ¨Þ

Ŭ¸¯µÈ Ƚ¼ö´Ù. 1ÀÌ¸é ´©¸§, 2¸é ´õºíŬ¸¯ÀÌ´Ù.

Delta

int ¨Þ

MouseWheel À̺¥Æ®¿¡¼­¸¸ »ç¿ëµÇ¸ç ÈÙÀÇ À̵¿ °Å¸®ÀÌ´Ù. »ç¿ëÀÚÂÊÀ¸·Î ±¼¸®¸é ¾ç¼ö, »ç¿ëÀÚ ¹Ý´ëÂÊÀ¸·Î ±¼¸®¸é À½¼ö°¡ Àü´ÞµÈ´Ù.

 

¾î¶² ¹öÆ°À» ´©¸£µçÁö ¹ß»ýÇÏ´Â À̺¥Æ®´Â MouseDownÀ̸ç ÀμöÀÇ Button °ªÀ» ÀÐ¾î ´­·¯Áø ¹öÆ°À» Á¶»çÇÑ´Ù. ±×·¡¼­ ¸¶¿ì½º À̺¥Æ® Çڵ鷯ÀÇ º»Ã¼´Â Åë»ó if (e.Button == ... Á¶°Ç¹®À¸·Î ½ÃÀ۵ȴÙ.

¸¶¿ì½º À̺¥Æ®´Â Ä¿¼­ ¾Æ·¡ÂÊ ¶Ç´Â ĸóÇÑ ÄÁÆ®·Ñ·Î Àü´ÞµÈ´Ù. ĸó¶õ ¸¶¿ì½º°¡ ¿µ¿ªÀ» ¹þ¾î³ªµµ À̺¥Æ®¸¦ °è¼Ó ¹ÞÀ» ¼ö ÀÖ´Â »óÅÂÀÌ´Ù. Capture ÇÁ·ÎÆÛƼ¸¦ true·Î ¼³Á¤ÇÏ¸é ¸¶¿ì½º°¡ ÄÁÆ®·Ñ ¹Ù±ùÀ¸·Î ³ª°¡µµ °è¼Ó À̺¥Æ®¸¦ ¹Þ´Â´Ù. À©ÆûÀÇ ÄÁÆ®·ÑÀº ¹öÆ°À» ´©¸£¸é ÀÚµ¿À¸·Î ĸóÇÏ°í ³õÀ¸¸é ĸó¸¦ Ç®µµ·Ï µÇ¾î ÀÖ´Ù. ´­·¶À¸¸é ¶¿ ¶§±îÁö ¸¶¿ì½º À̺¥Æ®¸¦ ¹Þ´Â °ÍÀÌ º¸ÅëÀ̹ǷΠÀÌ·± ÀÚµ¿È­µÈ 󸮴 ¹«Ã´ Æí¸®ÇÏ´Ù.

SystemInformation Ŭ·¡½º¿¡´Â ¸¶¿ì½º °ü·Ã Á¤º¸°¡ Á¤Àû ÇÁ·ÎÆÛƼ·Î Æ÷ÇԵǾî ÀÖ´Ù. ½Ã½ºÅÛ¿¡ ¸¶¿ì½º°¡ ÀåÂøµÇ¾î ÀÖ´ÂÁö, ÀÖ´Ù¸é ¹öÆ°Àº ¸î °³³ª ÀÖ´ÂÁö µîÀ» ¾Ë ¼ö ÀÖÀ¸¸ç Á¦¾îÆÇ¿¡¼­ »ç¿ëÀÚ°¡ ¼±ÅÃÇÏ´Â ¼³Á¤ »óŵµ Á¶»çÇÒ ¼ö ÀÖ´Ù.

 

ÇÁ·ÎÆÛƼ

ŸÀÔ

¼³¸í

DoubleClickSize

Size ¨Þ¨ß

´õºíŬ¸¯À¸·Î ÀÎÁ¤µÇ´Â ÁÂÇ¥ÀÇ °Å¸®. µÎ ¹øÀÇ Å¬¸¯ÀÌ ÀÌ ¹üÀ§³»¿¡¼­ ÀϾ¾ß ÇÑ´Ù.

DoubleClickTime

int ¨Þ¨ß

´õºíŬ¸¯À¸·Î ÀÎÁ¤µÇ´Â ½Ã°£ °£°Ý. µÎ ¹øÀÇ Å¬¸¯ÀÌ ÀÌ ½Ã°£ °£°Ý³»¿¡ ¿¬¼ÓÀûÀ¸·Î ÀϾ¾ß ÇÑ´Ù. ´ÜÀ§´Â 1/1000ÃÊÀÌ´Ù.

DragSize

Size ¨Þ¨ß

µå·¡±×¸¦ ½ÃÀÛÇϱâ À§ÇØ ¸¶¿ì½º¸¦ ¾î´À Á¤µµ ¿òÁ÷¿©¾ß ÇÏ´ÂÁö¸¦ ÁöÁ¤ÇÑ´Ù.

MouseButtons

int ¨Þ¨ß

¸¶¿ì½º ¹öÆ°ÀÇ °³¼ö¸¦ Á¶»çÇÑ´Ù. ¸¶¿ì½º°¡ ¼³Ä¡µÇ¾î ÀÖÁö ¾ÊÀ» ¶§´Â 0À» ¸®ÅÏÇÑ´Ù.

MouseButtonSwapped

bool ¨Þ¨ß

¸¶¿ì½ºÀÇ ÁÂ¿ì ¹öÆ° ±â´ÉÀÌ ¹Ù²î¾î ÀÖ´ÂÁö¸¦ Á¶»çÇÑ´Ù.

MouseHoverSize

Size ¨Þ¨ß

MouseHover ¸Þ½ÃÁö°¡ »ý¼ºµÇ±â Àü¿¡ Ä¿¼­°¡ ¸Ó¹°·¯¾ß ÇÏ´Â »ç°¢¿µ¿ªÀÇ Å©±â¸¦ ÁöÁ¤ÇÑ´Ù.

MouseHoverTime

int ¨Þ¨ß

MouseHover ¸Þ½ÃÁö°¡ »ý¼ºµÇ±â Àü¿¡ Ä¿¼­°¡ ¸Ó¹°·¯¾ß ÇÏ´Â ½Ã°£À» ÁöÁ¤ÇÑ´Ù.

MousePresent

bool ¨Þ¨ß

¸¶¿ì½ºÀÇ ¼³Ä¡ ¿©ºÎ¸¦ Á¶»çÇÑ´Ù.

MouseSpeed

int ¨Þ¨ß

¸¶¿ì½ºÀÇ ÇöÀç ¼Óµµ¸¦ Á¶»çÇÑ´Ù.

MouseWheelPresent

bool ¨Þ¨ß

ÈÙ ¸¶¿ì½ºÀÇ ¼³Ä¡ ¿©ºÎ¸¦ Á¶»çÇÑ´Ù.

MouseWheelScrollDelta

int ¨Þ¨ß

ÈÙÀ» ÇÑ ¹ø ±¼¸± ¶§ Áõ°¨ÇÒ µ¨Å¸°ªÀ» Á¶»çÇÑ´Ù. ÈÙÀ» À§·Î ±¼¸®¸é ¾ç¼ö, ¾Æ·¡ÂÊÀ¸·Î ±¼¸®¸é À½¼ö°ªÀÌ Àü´ÞµÈ´Ù.

MouseWheelScrollLines

int ¨Þ¨ß

ÈÙÀ» ÇÑ ¹ø ±¼¸± ¶§ ½ºÅ©·ÑÇÒ ÁÙ ¼ö¸¦ Á¶»çÇÑ´Ù. º¸Åë 3À¸·Î µÇ¾î ÀÖ´Ù.

 

¸¶¿ì½º¸¦ ÇÁ·Î±×·¡¹ÖÇÒ ¶§´Â ÀÌ Á¤º¸¸¦ ÂüÁ¶ÇÏ¿© »ç¿ëÀÚ°¡ ¼±ÅÃÇÑ ¿É¼ÇÀ» Àû¿ëÇÑ´Ù. ¿¹¸¦ µé¾î ´õºíŬ¸¯À» Á÷Á¢ ±¸ÇöÇÏ°í ½Í´Ù°Å³ª Æ®¸®Çà Ŭ¸¯À» °ËÃâÇÒ ¶§ ½Ã½ºÅÛ¿¡ ¼³Á¤µÈ ´õºíŬ¸¯ ¿µ¿ª°ú ½Ã°£À» ±âÃÊ·Î °è»êÇÑ´Ù. À̺¥Æ®ÀÇ ¹ß»ý ½ÃÁ¡Àº ±»ÀÌ ¼³¸íÇÏÁö ¾Ê´õ¶óµµ À̸§À¸·ÎºÎÅÍ ½±°Ô À¯ÃßÇÒ ¼ö ÀÖ´Ù. ´Ü, MouseClick°ú MouseDownÀº Á¶±Ý ±¸ºÐÇÒ ÇÊ¿ä°¡ Àִµ¥ Ŭ¸¯°ú ´©¸£´Â µ¿ÀÛÀº ´Ù¸£´Ù. ¶Ç ¸¶¿ì½º À̺¥Æ®¿Í´Â º°µµ·Î Click À̺¥Æ®µµ ÀÖ´Ù. ´ÙÀ½ ¿¹Á¦·Î À̺¥Æ®ÀÇ ¹ß»ý ½ÃÁ¡À» Å×½ºÆ®ÇØ º¸ÀÚ.

 

MouseClick

using System; ~ using System.Windows.Forms;

 

namespace MouseClick {

     public partial class Form1 : Form {

          private int count = 0;

 

          public Form1() {

              SetStyle(ControlStyles.StandardClick, true);

              SetStyle(ControlStyles.StandardDoubleClick, true);

              InitializeComponent();

          }

 

          private void Form1_MouseDown(object sender, MouseEventArgs e) {

              Graphics G = CreateGraphics();

              G.DrawString("Down", Font, Brushes.Black, e.X, e.Y);

              G.Dispose();

          }

 

          private void Form1_MouseClick(object sender, MouseEventArgs e) {

              Graphics G = CreateGraphics();

              G.DrawString("Click", Font, Brushes.Black, e.X, e.Y);

              G.Dispose();

          }

 

          private void Form1_MouseDoubleClick(object sender, MouseEventArgs e) {

              Graphics G = CreateGraphics();

              G.DrawString("Double Click", Font, Brushes.Black, e.X, e.Y);

              G.Dispose();

          }

 

          private void Form1_Click(object sender, EventArgs e) {

              count++;

              Text = count.ToString();

          }

     }

}

 

À̹ø ¿¹Á¦ºÎÅÍ ¼Ò½º ´ýÇÁ ¾ÕÂÊÀÇ using ¹®À» ÇÑ ÁÙ·Î ¾ÐÃàÇÏ¿© Ç¥±âÇÑ´Ù. ÄÚµåÀÇ ³í¸®¿Í´Â »ó°üÀÌ ¾ø°í Áö¸é¸¸ ³¶ºñÇÏ°í ´«¸¸ ±«·Î¿ï »ÓÀÌ´Ù. ´Ü, ¸¶¹ý»ç°¡ ÀÛ¼ºÇÑ using¹® ¿Ü¿¡ Ãß°¡·Î ÇÊ¿äÇÑ using¹®Àº Á¤»óÀûÀ¸·Î Ç¥±âÇÑ´Ù.

°¢°¢ÀÇ ¸¶¿ì½º À̺¥Æ®¿¡ ´ëÇØ Çڵ鷯¸¦ ¼³Ä¡ÇÏ°í ¹ß»ýÇÏ´Â À̺¥Æ®ÀÇ À̸§À» Ä¿¼­ À§Ä¡¿¡ Ãâ·ÂÇß´Ù. ¸¶¿ì½º ¹öÆ°À» ´­·¶´Ù ¶¼¸é "Down"°ú "Click"ÀÌ °°Àº ÀÚ¸®¿¡¼­ ¹ß»ýÇÑ´Ù. MouseDown°ú MouseClickÀº ¹ß»ý ½ÃÁ¡ÀÌ °°¾Æ º¸ÀÌÁö¸¸ ÀÚ¼¼È÷ °üÂûÇØ º¸¸é ±×·¸Áö ¾Ê´Ù. ¿ÞÂÊ ¹öÆ°À» ´©¸£°í Á¶±Ý À̵¿ÇÑ ÈÄ ¹öÆ°À» ¶¼¸é ¶¾ ÀÚ¸®¿¡ ClickÀÌ ÂïÈù´Ù. ´ÙÀ½ ±×¸²ÀÇ ¿ÞÂÊÀº ´©¸¥ ÀÚ¸®¿¡¼­ ¹Ù·Î ¶¾ °ÍÀÌ°í ¿À¸¥ÂÊÀº ´©¸¥ ÈÄ ¾Æ·¡·Î À̵¿ÇÏ¿© ¶¾ °ÍÀÌ´Ù.

Ŭ¸¯ µ¿ÀÛÀÇ Á¤È®ÇÑ Àǹ̴ ¹öÆ°À» ´­·¶´Ù°¡ ¶¾´Ù´Â ¶æÀÌ´Ù. ´©¸¥ ÀÚ¸®¿¡¼­ ¶¼¾ß ÇÑ´Ù´Â Á¶°ÇÀÌ ÀÖ¾î MouseDown, MouseUpÀÇ ¿¬¼Ó°ú ´Ù¸£´Ù. ¸¶¿ì½º·Î ¹öÆ°À» ´©¸£±â´Â ÇßÀ¸³ª ¹öÆ° À§¿¡¼­ ¶¼Áö ¾Ê¾Ò°Å³ª ÄÁÆ®·Ñ ¹Ù±ù¿¡¼­ Ŭ¸¯ÇÑ ÈÄ ¹öÆ° ¿µ¿ª ¾ÈÀ¸·Î µé¾î¿Í¼­ ³õÀ¸¸é Ŭ¸¯À¸·Î ÀÎÁ¤µÇÁö ¾Ê´Â´Ù.

Ŭ¸¯Àº ¸í·É¿¡ ´ëÇÑ È®Á¤ÀûÀÎ ¼±ÅÃÀÌ´Ù. Ŭ¸¯ÀÇ Á¤ÀÇ°¡ º¹ÀâÇÏ°Ô µÇ¾î ÀÖ´Â ÀÌÀ¯´Â À߸ø ´­·¶´Ù ½ÍÀ¸¸é Ä¿¼­¸¦ ¹Ù±ùÀ¸·Î ¿Å±ä ÈÄ ³õÀ½À¸·Î½á Ãë¼ÒÇÒ ¼ö ÀÖµµ·Ï Çϱâ À§Çؼ­ÀÌ´Ù. »ç¿ëÀÚ´Â ¿ö³« ¼º¹Ì°¡ ±ÞÇØ ¹öÆ°À» ÀÏ´Ü ´­·¯ ³õ°í ¸í·ÉÀ» ³»¸± °ÍÀΰ¡ °í¹ÎÇÏ´Â °æ¿ì°¡ ¸¹´Ù. ´©¸£±â¸¸ Çصµ ¸í·ÉÀ» ³»¸° °ÍÀ¸·Î ÀÎÁ¤ÇØ ¹ö¸®¸é ¿ì¸®´Â ¹«¼öÈ÷ ¸¹Àº ½Ç¼ö·Î Ç㱸Ç峯 ½Ã°£À» ³¶ºñÇÒ °ÍÀÌ´Ù.

¸¶¿ì½º¿¡ ÀÇÇØ ¹ß»ýÇÏ´Â MouseClick À̺¥Æ®¿Í´Â ´Þ¸® Click À̺¥Æ®´Â Å°º¸µå·Îµµ ¹ß»ýÇÒ ¼ö ÀÖ¾î ´õ ÀϹÝÀûÀÌ´Ù. ´ëÈ­»óÀÚÀÇ µðÆúÆ® ¹öÆ°Àº EnterÅ°·Î ´©¸¦ ¼ö ÀÖ°í Æ÷Ä¿½º¸¦ °¡Áø ¹öÆ°Àº ½ºÆäÀ̽º Å°·Î ´©¸¦ ¼ö ÀÖ´Ù. À̶§´Â Click À̺¥Æ®¸¸ ¹ß»ýÇϸç MouseClickÀº ¹ß»ýÇÏÁö ¾Ê´Â´Ù. Áï ClickÀº ¸¶¿ì½º°Ç Å°º¸µå°Ç ÀÌ ¹öÆ°ÀÇ ¸í·ÉÀ» ½ÇÇàÇ϶ó´Â ½ÅÈ£ÀÌ´Ù. ¿¹Á¦¿¡¼­´Â Click À̺¥Æ®¿¡ ´ëÇØ Ä«¿îÆ®¸¦ Áõ°¡½ÃÄÑ Å¸ÀÌƲ ¹Ù¿¡ Ç¥½ÃÇÔÀ¸·Î½á À̺¥Æ®°¡ ¹ß»ýÇÏ´Â °ÍÀ» Ç¥½ÃÇß´Ù.

MouseDoubleClickÀÇ ÀϹÝÈ­ À̺¥Æ®ÀÎ DoubleClickµµ ÀÖ´Ù. Click, DoubleClick À̺¥Æ®´Â ÇÁ·¹ÀÓ¿öÅ©¿¡ ÀÇÇØ ÆÄ»ýµÇ´Â ³í¸®ÀûÀÎ À̺¥Æ®ÀÌ´Ù. ó¸®ÇÒ À̺¥Æ®¸¦ À߸ø ¼±ÅÃÇϸé Ȳ´çÇÑ °á°ú°¡ ³ªÅ¸³ª±âµµ ÇÑ´Ù. ¹öÆ°ÀÇ ¸í·É ½ÇÇà Äڵ带 ClickÀÌ ¾Æ´Ñ MouseClick¿¡ ÀÛ¼ºÇÏ¸é ¹Ýµå½Ã ¸¶¿ì½º·Î ´­·¯¾ß µ¿ÀÛÇϸç Å°º¸µå¿¡ ´ëÇؼ­´Â ¹¬¹¬ºÎ´äÀÌ´Ù.

¹öÆ°À» ºü¸£°Ô µÎ ¹ø ´©¸£´Â ´õºíŬ¸¯Àº °Å¸®¿Í ½Ã°£ÀÇ Á¶°ÇÀÌ ¸Â¾Æ¾ß ÇÑ´Ù. ´õºíŬ¸¯À» Á¤È®ÇÏ°Ô °ËÃâÇϱâ À§Çؼ­´Â ¸¶¿ì½º ¹öÆ°ÀÌ ´­·¯Áö´Â À§Ä¡¿Í ½ÃÁ¡À» ÂüÁ¶ÇØ¾ß Çϴµ¥ ´ÙÇàÈ÷ ÇÁ·¹ÀÓ¿öÅ©°¡ ³»ºÎÀûÀ¸·Î Àß °ü¸®ÇÏ°í ÀÖ¾î À̺¥Æ®¸¸ ¹ÞÀ¸¸é µÈ´Ù. ¸¸¾à ÀÌ·± ¼­ºñ½º°¡ ÇÊ¿ä ¾ø´Ù¸é StandardClickÀ̳ª StandardDoubleClick ½ºÅ¸ÀÏÀ» ÇØÁ¦ÇÏ¸é µÈ´Ù. ´õºíŬ¸¯ÇÒ ¶§ ¸¶¿ì½º À̺¥Æ® ¹ß»ý ¼ø¼­´Â ´ÙÀ½°ú °°´Ù.

 

1.MouseDown

2.Click

3.MouseClick

4.MouseUp

5.MouseDown

6.DoubleClick

7.MouseDoubleClick

8.MouseUp

 

StandardClick ½ºÅ¸ÀÏÀ» false·Î º¯°æÇϸé Ŭ¸¯ À̺¥Æ®´Â ¹ß»ýÇÏÁö ¾Ê´Â´Ù. StandardDoubleClick ½ºÅ¸ÀÏÀ» ÇØÁ¦ÇÏ¸é ´õºíŬ¸¯ À̺¥Æ®°¡ ¹ß»ýÇÏÁö ¾Ê´Â´Ù. ¿¹Á¦ÀÇ »ý¼ºÀÚ¿¡ ÀÛ¼ºµÇ¾î ÀÖ´Â SetStyle¹®À» ÆíÁýÇÏ¿© Å×½ºÆ®ÇØ º¸¾Æ¶ó. °íÀ¯ÇÑ ±ÔÄ¢À» Àû¿ëÇÏ°í ½Í´Ù°Å³ª ´õºíŬ¸¯ ÀÌ»óÀÇ ¿¬¼ÓŬ¸¯À» °ËÃâÇÒ ¶§´Â ÇÁ·¹ÀÓ¿öÅ©°¡ ¹æÇØÇÏÁö ¾Êµµ·Ï ÇØ¾ß ÇÑ´Ù.