2010-06-08 7 views
3

RichTextBox 컨트롤이 있습니다. 텍스트를 왼쪽 버튼으로 클릭하면 커서가 클릭 한 위치로 점프합니다. 마우스 오른쪽 버튼으로 클릭 할 때도 이런 일이 발생하기를 바랍니다. 어떻게해야할지 모르겠습니다. 감사!C# 오른쪽 클릭시 RichTextBox에서 이동 커서

답변

6

가정 윈폼 :

이 MouseUp 이벤트 핸들러과 같이 구현 :

private void richTextBox1_MouseUp(object sender, MouseEventArgs e) 
{ 
    if (e.Button == MouseButtons.Right) 
    { 
     RichTextBox box = (RichTextBox)sender; 
     box.SelectionStart = box.GetCharIndexFromPosition(e.Location); 
     box.SelectionLength = 0; 
    } 
} 
+0

좋은 대답하지만 하나 개의 작은 개선을 건의 할 것입니다. 활성 응용 프로그램 자체를 마우스 오른쪽 단추로 클릭하면 Windows 응용 프로그램에서 마우스 오른쪽 단추로 활성 선택을 바꾸지 않는 것이 일반적입니다. 코드는 선택을 설정하기 전에 GetCharIndexFromPosition이 SelectionStart 및 SelectionStart + SelectionLength 외부의 인덱스를 반환하는지 확인하여이를 수행 할 수 있습니다. –

+0

그래, 그게 유용성의 관점에서 합리적인 소리. –

관련 문제