Study/Programming

[C#] MDI Form 사용시 Child Form의 Textbox에서 Ctrl+A, Ctrl+C, Ctrl+V, Ctrl+X 작동하게 하는 방법

빨간당무 2011. 2. 28. 15:29
전에 친구 김모 군이 이 문제를 물어봐서 같이 해결했었는데 그때 기억을 잊고 다시 검색해서 해결법을 찾아보았더니

그때 그 김모군이 블로깅 한 내용에 해결법이 ㅎㅎㅎ 어쨌던 정리해 두었던 김군에게 감사의 인사를 ㅎㅎ

하지만 추가적으로 [오려내기]가 없는거 같아서 내용을 추가함 ^^



Child form 에 textbox를 추가하고 (name = textbox1) 이후 PreviewKeyDown event를 작성하면 됩니다.

<pre class="brush: csharp"> 
private void textBox1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
        if (e.Control && e.KeyCode == Keys.A)
        {
            ((TextBox)sender).SelectAll();
        }
        if (e.Control && e.KeyCode == Keys.C)
        {
            ((TextBox)sender).Copy();
        }
        if (e.Control && e.KeyCode == Keys.V)
        {
            ((TextBox)sender).Paste();
        }
        if (e.Control && e.KeyCode == Keys.X)
        {
            ((TextBox)sender).Cut();
        }
 }
</pre>



추가로 MSDN에서는 Win32 API를 Override 하는 방법을 제한하였다.