5
我有一個表格,我正在使用ShowDialog
其中包含幾個文本框,標籤和一個按鈕。我遇到的問題是在表單本身之前繪製文本框,並繪製其他控件。控件不是同時繪製的
我重寫OnPaint
方法,我不知道這可能會造成問題:
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 2013-05-05 12:38:21
實際上,父元素在渲染自己之前調用每個子控件的渲染方法。這是默認行爲。也許你可以在表單加載完成後顯示對話框。 – Saravanan 2013-05-05 12:39:31
通過Visual Studio設計器添加了所有控件,因此我沒有觸及這些控件的繪圖。 – 2013-05-05 12:42:25