문제

나는 Usercontrol (Winforms, .net 2.0)을 가지고 있으며 다음과 같습니다.

protected override void OnPaint(PaintEventArgs e)
{
    base.OnPaint(e);

    var rect = e.ClipRectangle;
    var pen = new Pen(Brushes.LightGray, 1);

    e.Graphics.DrawRectangle(pen, rect);
}

나는 기본적으로 Usercontrol에 테두리를 그리고 싶지만 모든 어린이 컨트롤에서도 직사각형이 그려지고 있습니다! 나는 모든 어린이 통제를 위해 그것을 부름 받아야한다는 것을 결코 읽지 못했습니다. 해결책이 있습니까?

도움이 되었습니까?

해결책

아동은 부모를 무효화 하여이 방법을 각각에 해고하게합니다.

e를 매개 변수로 사용하는 대신 (E는 이벤트를 해고 한 컨트롤이 될 것인지, 자식이든 아니든) 제어 이름 설명을 사용하십시오.

다른 팁

당신은 왜 사용하고 있습니까? PaintEventArgs.ClipRectangle 사각형의 범위를 결정하려면? 사용해보십시오 Control.ClientRectangle 대신에.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top