110,534
社区成员
发帖
与我相关
我的任务
分享
private void Init()
{
foreach (var item in panel1.Controls)
{
if(item.GetType()==typeof(PictureBox))
{
PictureBox picture = (PictureBox)item;
picture.Paint += new PaintEventHandler(picturePaint);
picture.Click += new EventHandler(pictureClick);
pictureColorDic.Add(picture, Color.Black);
}
}
}
private Dictionary<PictureBox, Color> pictureColorDic = new Dictionary<PictureBox, Color>();
void picturePaint(object sender, PaintEventArgs e)
{
var pictureControl = (sender as PictureBox);
var color = pictureColorDic.FirstOrDefault(a => a.Key == pictureControl).Value;
if (color == null) { return; }
ControlPaint.DrawBorder(e.Graphics, pictureControl.ClientRectangle,
color, 1, ButtonBorderStyle.Solid,
color, 1, ButtonBorderStyle.Solid,
color, 1, ButtonBorderStyle.Solid,
color, 1, ButtonBorderStyle.Solid);
}
void pictureClick(object sender, EventArgs e)
{
var pictureControl = (sender as PictureBox);
var dic = pictureColorDic.FirstOrDefault(a => a.Key == pictureControl);
if (dic.Key != null)
{
pictureColorDic.Remove(pictureControl);
if (dic.Value == Color.Black)
{
pictureColorDic.Add(pictureControl, Color.Red);
}
else
{
pictureColorDic.Add(pictureControl, Color.Black);
}
}
pictureControl.Invalidate();
pictureControl.Update();
}
private Color pictureBoxBorderColor = Color.Black;
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
ControlPaint.DrawBorder(e.Graphics,
this.pictureBox1.ClientRectangle,
pictureBoxBorderColor, 1, ButtonBorderStyle.Solid,
pictureBoxBorderColor, 1, ButtonBorderStyle.Solid,
pictureBoxBorderColor, 1, ButtonBorderStyle.Solid,
pictureBoxBorderColor, 1, ButtonBorderStyle.Solid);
}
private void pictureBox1_Click(object sender, EventArgs e)
{
if (pictureBoxBorderColor == Color.Black)
{
pictureBoxBorderColor = Color.Red;
}
else
{
pictureBoxBorderColor = Color.Black;
}
pictureBox1.Invalidate();
pictureBox1.Update();
}