2017-03-14 4 views
-1

페인트와 같은 것을해야하는데, 유일한 차이점은 화면에 그릴 수 있다는 것입니다. 사용자가 도구 (펜, 선, 사각형, 텍스트 등)를 클릭하면 화면의 스크린 샷을 찍어 두 번째 전체 화면 형태의 배경 이미지로 지정합니다. 그런 다음 마우스 이벤트를 처리하여 그 위에 그립니다. 메신저 따라 그리기 위해 노력하고 그 안에 RichTextBox 세 번째 양식을 사용하여 텍스트를 그립니다. 이 양식은 투명해야하며 두 번째 양식의 배경 화면으로 새 스크린 샷을로드합니다.RichTextBox의 이상한 텍스트 C#

이것은 세 번째 형태의 코드로 투명합니다.

enter image description here

당신이 볼 수 있듯이

enter image description here

this.FormBorderStyle = FormBorderStyle.None; 
this.TransparencyKey = Color.Turquoise; 
this.BackColor = Color.Turquoise; 
richTextBox1.BackColor = this.BackColor; 

는 텍스트가 밝은 파란색되고 있습니다. 이것은 내 문제입니다.

+1

윈도우 폼과 투명성이 아주 잘 혼합하지 않습니다. 어쩌면 RichTextBox를 사용하는 대신에 제 3의 형태로 직접 쓰려고 노력할 것입니다. 그러나 나는 그것에 대해 내기를하지 않을 것입니다. 정말 행운을 기원합니다. – Pikoh

+0

@Pikoh 아마도 그렇게 할 것입니다 ... 고마워요. –

+1

또한 : TransparencyKey를 사용할 때 __one 정확한 color__에서만 작동합니다. 텍스트에는 많은 반투명 색상의 앤티 앨리어싱 픽셀이있는 것 같습니다. 끈을 당길 때 앤티 앨리어싱 된 픽셀을 방지 할 수는 있지만 RTB에서 수행 할 수 있을지는 의문입니다. – TaW

답변

1

나는 그것을 고치는 방법을 찾지 못했고, 나는 대신 라벨을 사용하기로 결정했습니다. 키 프레스 이벤트를 처리하여 라벨 뒷면의 색상을 투명하게 만들어 예상 된 결과를 얻었습니다.

enter image description here