2013-04-12 1 views
1

컨텍스트 힌트는 어떻게 배치합니까? 이런 식으로 뭔가 :이 코드를 사용하여 텍스트 아래Intellisense의 위치 지정

http://i.stack.imgur.com/iFuaq.png

는 :

Point point = this.rtb.GetPositionFromCharIndex(rtb.SelectionStart); 
     this.lb.Location = point; 

참고 코드 출력 위의 상황에 맞는 힌트이었다 또는 Intelliense은 RTB에 입력 한 텍스트 옆에있을 것입니다. 내가 선택 시작에서하기 때문에 아래가 아니라, 아래에 놓일 수 있도록 + "\ n"과 같은 것을 추가하고 싶다.

답변

0

여기 당신이 이동하여 RichTextBoxKeyUp 이벤트에 넣고 :

using (Graphics g = this.rtb.CreateGraphics()) { 
    point.Y += (int)g.MeasureString("A", rtb.Font).Height + 10; // the 10 is padding 
} 
this.lb.Location = point; 

이는 .. 다음 패딩 (10)를 추가 이동하는 방법까지 계산하는 글꼴의 높이를 측정 할 것이다.

더 큰 글꼴을 사용하려면이 문제를 해결하는 데 추가 로직이 필요할 수 있습니다.

+0

rit에 더 많은 단어를 입력하면 위치가 바뀌고 이동하지 않습니다. – Elegiac

+0

'RichTextBox'의 'KeyUp' 이벤트에 넣어야 모든 키가 업데이트됩니다 언론 ... –

+0

같은 일이 일어납니다. – Elegiac