2
我有一個userControl,它有一些編程繪製的矩形。我需要在我的窗體上使用少量的userControl實例(請參閱圖像)。問題是隻有最後一個實例纔會顯示繪製的形狀!繪製的矩形只出現在我的userControl的最後一個實例
我猜它是與拉絲表面或Paint事件處理程序
在情況下,它可能會幫助,這裏有一些我在我的控制使用的代碼:
private void MyUserControl_Paint(object sender, PaintEventArgs e)
{
showHoraireMaitresse();
Rectangle rec = showDisponibilités();
var b = new SolidBrush(Color.FromArgb(150, Color.Blue));
e.Graphics.FillRectangle (b, rec);
showOccupation();
}
private void showHoraireMaitresse()
{
heureDebut = 8;
for (int i = 0; i < 14; i++)
{
//Label d'heure -> This shows just fine
addLabel(i, heureDebut);
//Rectangles d'heure -> This shows only in last instance
var rectangle = new Rectangle(180 + i * largeurDUneHeure, 14, largeurDUneHeure, 30);
surface.DrawRectangle(defaultPen, rectangle);
}
addLabel(14, heureDebut);
}
謝謝!
什麼是你的「表面」的聲明? – hometoast 2011-04-14 18:26:22
Surface被聲明爲我的userControl的專用字段。那是錯的嗎? – Mathieu 2011-04-14 18:43:32