텍스트 상자/레이블 컨트롤에 대한 사용자 지정 대체품을 쓰고 있습니다. 비슷한 기능을 제공해야하지만 내 응용 프로그램의 맥락에서 최적화되고 (잘하면) 빨라질 것입니다. 다중 행 텍스트 선택을 지원할 수 있어야합니다. 선택한 텍스트를 그릴 수있는 간단한 방법이 있는지 궁금합니다. 지금은 선택 사각형을 그려야하는 위치를 계산하고 수동으로 그릴 수있는 유일한 방법 인 것처럼 보입니다. 이 방법이나 다른 대안을 달성하는 가장 쉬운 방법에 대한 권장 사항을 얻기를 희망했습니다. 감사.선택한 텍스트를 그리는 방법
4
A
답변
2
System.Windows.Forms.TextRenderer
을 사용하십시오. System.Windows.Forms.Control
에서
그냥 무시 방법 : 사용자 지정 동작을 구현해야하는 경우 물론
protected override void OnPaint(PaintEventArgs e)
{
TextRenderer.DrawText(e.Graphics, Text, Font, new Rectangle(0, 0, Width, Height), ForeColor);
}
public override Size GetPreferredSize(Size proposedSize)
{
return TextRenderer.MeasureText(Text, Font);
}
, 당신은 OnFontChanged
또는 OnSizeChanged
과 같은 몇 가지 더 이벤트를 처리해야합니다.
찾고있는 것이 해당 컨트롤에서 특정 텍스트 (선택한 텍스트)를 타겟팅하는 경우이 article을 살펴볼 수 있습니다. 맞춤법 검사 라이브러리 (SharpSpell)의 소스 코드도이 기사에서 링크됩니다.
0
응용 프로그램의 기본 컨트롤을 다시 작성하는 것은 중요한 작업이므로 절대 최후의 수단 (IMO)이 아니면 않는 한 수행해야합니다. 포함 된 컨트롤이 귀하의 예외 사항을 충족시키지 못한다면, 이러한 컨트롤을 설계하고 지원하는 주위에 비즈니스가 구축 된 타사 컨트롤 라이브러리를 구입하는 것이 좋습니다. Telerik's ASP.NET 컨트롤을 사용하여 많은 성공을 거두었습니다. 다른 컨트롤 라인에 대해 많은 긍정적 인 진술을 보았습니다.
다른 타사 컨트롤 소스도 있습니다.
관련 문제
- 1. 이미지에 텍스트를 그리는 방법
- 2. 이미지에 텍스트를 그리는 방법
- 3. 그림 상자에 텍스트를 그리는 방법?
- 4. VBA에서 선택한 텍스트를 얻는 방법
- 5. gdi 호출 만 사용하여 win32에서 선택한 텍스트를 그리는 방법은 무엇입니까?
- 6. 빈 MS Chart ChartArea에 텍스트를 그리는 방법?
- 7. 읽을 수있는 작은 텍스트를 빨리 그리는 방법
- 8. 코코아에서 rect 밖의 텍스트를 그리는 방법
- 9. xsel - Python을 사용하여 선택한 텍스트를 얻는 방법
- 10. 텍스트를 빨리 그리는 방법이 있습니까?
- 11. 선택한 텍스트를 강조 표시하고 저장하십시오.
- 12. 선택한 텍스트를 jquery/javascript로 바꿉니다.
- 13. jQuery divs 선택한 텍스트를 드래그
- 14. 프론트 대부분의 애플리케이션에서 현재 선택한 텍스트를 얻기
- 15. 아이폰에 NSString 추가 UIKit 추가 색된 텍스트를 그리는 방법 있는가?
- 16. C에서 system.drawing을 사용하여 jpg에 가운데 맞춤 텍스트를 그리는 방법 #
- 17. Safari의 <canvas> 태그에 텍스트를 그리는 방법
- 18. D3D11 : GXDI 표면에 GDI 텍스트를 그리는 방법? (D2D없이)
- 19. 개요 텍스트를 효율적으로 그리는 방법은 무엇입니까?
- 20. DirectX 창에 텍스트를 그리는 EndPaint 후킹
- 21. WPF에서 텍스트를 그리는 빠른 방법이 있습니까
- 22. 그래픽 객체에 반투명 텍스트를 그리는 방법은 무엇입니까?
- 23. 3D 텍스트를 그리는 가장 좋은 방법은 무엇입니까?
- 24. OpenGL에서 텍스트를 그리는 중 텍스처가 약간 오프셋되었습니다.
- 25. 캘린더 컨트롤에서 선택한 텍스트를 내 텍스트 상자로 가져 오는 방법
- 26. 브라우저 북마크가 활성 창에서 선택한 텍스트를 가져오고 저장하는 방법
- 27. 자바 스크립트 : 선택한 텍스트를 배열에 추가
- 28. 선택한 텍스트를 명령 줄 인수로 보냅니다.
- 29. TextMate : 선택한 텍스트를 PHP 주석으로 묶는 번들
- 30. 선택한 텍스트를 취소 할 MS Outlook 매크로
이 용도로 만든 사용자 지정 UserControl은 기본 제공 컨트롤보다 빠릅니다. 실제로 텍스트 상자 및 레이블을 사용하여 성능 문제가 발생하는 경우 양식에 너무 많은 기회가있을 수 있습니다. – MusiGenesis
나는 아무런 방법이 없다고 말하지 않을 것입니다. 달성하기가 매우 어려울 것 같습니다. 그래서 다른 존재하는 제 3 자 통제를 바라 보는 이유는 그 존재를 기반으로하는 회사가 개량. –