0
我試過設置ResizeRedraw,但它不會導致調整大小的繪畫事件,所以我開始在myForm_Resize內部無效。現在,當我調整大小時,我發現我的背景正在重新繪製,但只要我停止調整大小,我的控件就會以其背景顏色重新繪製。我究竟做錯了什麼?畫的表單內容不會留漆
private void pbox_Paint(object sender, PaintEventArgs e) {
Rectangle boardRect = pbox.ClientRectangle;
using (Graphics g = pbox.CreateGraphics()) {
g.FillRectangle(Brushes.Orange, boardRect);
}
}
private void myForm_Resize(object sender, EventArgs e) {
this.Invalidate(true);
}
這適用於保持我的內容畫。任何想法爲什麼ResizeRedraw不會觸發我的Paint事件? – mike663 2013-04-04 01:33:11
它觸發,檢查調試器,但使用CreateGraphics是不穩定的,隨後控制本身的重繪將取消它。嘗試使用Button之類的窗體上的任何其他控件。 CreateGraphics僅在需要繪製直到下一次重繪時纔可見的東西時使用,在任何其他情況下,您都應該使用Paint事件處理函數中的PaintEventArgs中的圖形或OnPaint方法的重寫。 – 2013-04-04 01:39:52