2009-12-09 7 views
10

Windows 양식에 여러 개의 텍스트 상자가 있습니다.Winforms 텍스트 상자에 CTRL-V (붙여 넣기)를 어떻게 허용합니까?

CTRL-V를 사용하여 텍스트를 붙여 넣을 수는 없지만 붙여 넣기를 마우스 오른쪽 버튼으로 클릭하여 선택할 수는 있습니다. 이것은 꽤 성가신 일입니다.

이 양식의 KeyPreview를 true 및 false로 사용해 보았습니다. TextBox.ShortcutsEnabled도 true입니다.

+1

이벤트가없는 다른 텍스트 상자가 동일한 작업을 수행하는 경우이 코드와 관련이 없습니다. –

+0

동의, 나는 그것을 반영하기 위해 질문을 편집했다. –

+0

해당 양식이 "자녀"양식입니까? –

답변

15

확인보고.

+1

빙고. 양식 자체에는 메뉴가 없지만 MDI 부모가했습니다. 메뉴 바 컨트롤이 제공하는 기본 "편집"메뉴였습니다. 메뉴에서 편집 섹션을 제거했는데 모두 정상으로 돌아 왔습니다. –

+1

와우. 큰 이것에 대한 감사. 나는 같은 상황에 처했고, MDI 학부모는 지름길을 가졌습니다. – granadaCoder

+1

@granadaCoder : 예, 그것은/so/이상한 일이 ... 거기에 영향을 미치면 ... 성가신 것입니다. –

4

게시 한 코드는 Ctrl + V 문제와는 아무런 관련이 없습니다. 별로 더 많은 코드를 게시하지 않으면 내가 말할 수있는 것은별로 없습니다.

Ctrl + V에는 특별한 코드가 필요하지 않지만, YourTextBoxId.ShortcutsEnabledTrue으로 설정되어 있는지 확인하는 것이 좋습니다.

+2

감사합니다. 질문을 편집했지만 의견을 기재해야합니다. –

+0

내 대답이 업데이트되었습니다. 참조하십시오. –

+0

이미 확인했는데, 사실로 설정되어 있습니다. –

9

다음 코드는 데 도움이 될 것입니다 당신은 Ctrl 키-V에 대한 바로 가기와 폼의 메뉴가있는 경우

private void textBox1_KeyUp(object sender, KeyEventArgs e) { 
    if (e.KeyData == (Keys.Control | Keys.V)) 
     (sender as TextBox).Paste(); 
} 
+1

좋은 해결 방법이지만 잘라 내기 및 복사를위한 코드를 추가해야합니다. 나는 기본 행동으로 돌아가고 싶다. –

+0

V를 누르면 붙여 넣기됩니다. –

+0

@ Josh : 제 환경에 없습니다. 'v'는 'v'로 남고 컨트롤과 'v'키의 조합은 붙여 넣기 동작이됩니다. – Webleeuw

1

예 ..이 답변을 알고 있지만 나는 단지 재미로 내 2 센트를 던질 줄 알았는데. 나는 또한 비슷한 문제가 있었다. TextBox.ShortcutsEnabled 값을 True로 설정하면 아무런 효과가 없습니다. 나는이 문제와 관련하여 Microsoft가 남긴 메모를 보니 놀랐다. http://msdn.microsoft.com/en-us/library/system.windows.forms.textboxbase.shortcutsenabled.aspx. 적어도 말하기에 꽤 흥미 롭습니다.

Webleeuw가 게시 한 것처럼 핸들러조차도 기능을 구현했습니다.

+0

나는이 반응을 예리한 눈으로보고 그 의견을 보았다. // TextBox 컨트롤은 바로 가기 키를 지원하지 않습니다 .// 뭐라고 말합니까 ?? Nice는 PunkConservative를 찾습니다. – granadaCoder

2

같은 문제가 발생했습니다. 마침내 많은 검색 결과를 얻은 후 해결책을 찾았습니다. 그것은 aplliciation에서 Ctrl + V 단축키가 이미 정의 되었기 때문입니다 (편집 메뉴 -> 붙여 넣기). 이를 제거한 후 여러 줄 속성 값에 해당하는 경우 ... 그것은

+0

그게 문제 였고 내 MDI 형식 (다른 사람들이이 게시물의 다른 곳에서 언급했듯이)에있을 수 있습니다. – granadaCoder

2

는 TextBox 컨트롤이 + 바로 가기 키를 CTRL을 지원하지 않습니다 .... .... 나를 위해 잘 작동이 도움이 희망 .

+0

맞아요, 문서에 이렇게 적혀 있습니다 : http://msdn.microsoft.com/en- us/library/system.windows.forms.textboxbase.shortcutsenabled.aspx – user1032613

-1

양식의 designer.cs/.vb 양식에서 이미 다른 컨트롤에 동일한 바로 가기를 할당 할 수 있습니다. 지금 받아 들일 것입니다 기본 창 - 사용 = 사실

작업 수행을

속성> 행동> 바로 가기 : 내 경우 나는 컨트롤의 속성에 방법을

//this.copyToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys) 
((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.C))); 
1

이동 다음의 메뉴를 위해 그것을 해결 이 컨트롤에 대한 바로 가기 스트로크

관련 문제