我從來沒有真的不必擔心我的程序是多麼「漂亮」,但我現在正在爲市場營銷工作....反正我覺得這很簡單,但我似乎無法弄清楚爲什麼這不起作用。基本上我有一個帶有一堆圖片框的面板,我在它們後面繪製彩色矩形,在照片周圍創建一個僞「框架」。它根據是否選擇照片而具有不同的框架。默認選擇的照片在位置0,並在第一次繪製一切看起來不錯。但是當選擇改變時,繪畫事件會觸發並且沒有任何變化。這裏是代碼:簡單的圖形問題
private void panelPicSet_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
g.Clear(panelPicSet.BackColor);
foreach (PictureBox picBox in panelPicSet.Controls)
{
if (picBox == selectedPhoto.PictureBox)
g.FillRectangle(new SolidBrush(Color.FromArgb(53, 73, 106)), new Rectangle(new Point(picBox.Location.X - 4, picBox.Location.Y - 4), new Size(picBox.Width + 8, picBox.Height + 8)));
if (picBox == hoveredPicBox)
g.FillRectangle(new SolidBrush(Color.FromArgb(53, 73, 106)), new Rectangle(new Point(picBox.Location.X - 2, picBox.Location.Y - 2), new Size(picBox.Width + 4, picBox.Height + 4)));
else
g.FillRectangle(new SolidBrush(Color.FromArgb(255, 232, 166)), new Rectangle(new Point(picBox.Location.X - 2, picBox.Location.Y - 2), new Size(picBox.Width + 4, picBox.Height + 4)));
}
}
你在哪裏定義selectedPhoto變量? – 2011-04-27 17:44:10
在圖片框中單擊事件。懸停設置在鼠標輸入/鼠標離開事件中。在繪畫事件中兩者都被正確識別。 – Nick 2011-04-27 17:55:16