C#, VisualStudio 2010을 사용하고 Windows Forms 응용 프로그램에 대한 사용자 지정 UserControl을 만들었습니다. 그들은 자신을 드러내고 다른 곳으로 끌고 갈 수있는 것을 제외하고는 많은 행동을하지 않습니다. 그러나 그들은 모양이 원형이고 구석에 겹칠 때 정확하게 표시 할 수 없습니다.겹치는 사용자 컨트롤을 올바르게 표시하려면 어떻게합니까?
다음public void Circle_Paint(object sender, PaintEventArgs e)
{
var g = e.Graphics;
g.FillEllipse(brushForOuterCircle, 0, 0, Width, Height);
g.FillEllipse(brushForInnerCircle, lineWidth, lineWidth, Width - 2*lineWidth, Height - 2*lineWidth);
if(!textLocation.HasValue)
{
SizeF m = g.MeasureString(text, textFont);
textLocation = new PointF((float)((Width - m.Width)/2.0), (float)((Height - m.Height)/2.0));
}
g.DrawString(text, textFont, brushForText, textLocation.Value);
}
가 잘못 표시, CD는 그 지역을 무시하기 때문에 표시하지 않습니다 AB 원의 남동쪽 부분의 예입니다
다음은 화면에 그림에 대한 내 코드입니다.
어떻게 방지해야 UserControl "기본적으로 투명하게, 내가 그리지 않는 부분은 그렇게 남아 있어야합니다"말할 방법이 있습니까?
가능한 중복 : [.NET에서 투명 사용자 컨트롤 (http://stackoverflow.com/questions/4117356/transparent-user-control-in-net) 확실하게 많은, 많은 다른 질문 : –
나는 그 질문에 대해 알고 있습니다. 그러나 대답은 받아 들였습니다. "작동하지 않는 주목할만한 일은 컨트롤이 겹치는 것입니다. 중복 된 컨트롤의 픽셀이 아닌 부모 픽셀 만 볼 수 있습니다. 코드가 엉망이다. " 그래서 내가 그것을 오해하지 않는다면, 그것은 내 질문에 답하지 않습니다. 그거야? –