나는 두 개의 텍스트 상자, 레이블 및 버튼을 포함하는 ShowDialog
을 사용하여 불러올 양식을 가지고 있습니다. 내가 겪고있는 문제는 텍스트 상자가 양식 자체 앞에 그려지고 다른 컨트롤이 그려진다는 것입니다.컨트롤이 동시에 그려지지 않음
나는이 문제의 원인이 될 수 있는지 확실하지 해요 OnPaint
방법 오버라이드 (override) 오전 :
protected override void OnPaint(PaintEventArgs e)
{
ControlPaint.DrawBorder(e.Graphics, e.ClipRectangle, Color.Black, ButtonBorderStyle.Solid);
base.OnPaint(e);
}
그것은 단지 약간의 지연이의를하지만 볼 수 있고 짜증나. 고맙습니다.
양식은 길게 이중 버퍼링됩니다.
편집 : 양식에 FormBorderStyle
이 없다는 사실을 정확히 지적했습니다. FormBorderStyle
을 Sizable
으로 설정하면이 문제가 발생하지 않습니다. 그러나 내 경계 스타일로 FormBorderStyle.None
을 가져야한다는 점에 유의하십시오. 아직 해결책을 찾지 못했습니다. 대화 상자 양식이 추가
당신이 모든 관련 코드 레이블, 텍스트 상자 및 버튼의 도면에 관련된를 게시 할 수 있습니까? – JosephGarrone
사실, 부모 요소는 렌더링하기 전에 각 자식 컨트롤의 render 메서드를 호출합니다. 이는 기본 동작입니다. 양식로드가 완료되면 대화 상자를 표시 할 수 있습니다. – Saravanan
모든 컨트롤이 Visual Studio 디자이너를 통해 추가되었으므로이 컨트롤의 드로잉을 만지지 않았습니다. –