我从来没有真的不必担心我的程序是多么“漂亮”,但我现在正在为市场营销工作....反正我觉得这很简单,但我似乎无法弄清楚为什么这不起作用。基本上我有一个带有一堆图片框的面板,我在它们后面绘制彩色矩形,在照片周围创建一个伪“框架”。它根据是否选择照片而具有不同的框架。默认选择的照片在位置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