我希望能够根据不同的事件来打开或关闭PictureBox周围的边框颜色/样式。
是否有属性或函数可以帮助我实现这个目标?
我希望能够根据不同的事件来打开或关闭PictureBox周围的边框颜色/样式。
是否有属性或函数可以帮助我实现这个目标?
private void pictureBox1_Paint_1(object sender, PaintEventArgs e)
{
ControlPaint.DrawBorder(e.Graphics, pictureBox1.ClientRectangle, Color.Red, ButtonBorderStyle.Solid);
}
Tag
属性来存储颜色,并调整图片框的Click
事件以从那里检索它。例如: if (pictureBox1.Tag == null) { pictureBox1.Tag = Color.Red; } //Sets a default color
ControlPaint.DrawBorder(e.Graphics, pictureBox1.ClientRectangle, (Color)pictureBox1.Tag, ButtonBorderStyle.Solid);
那么PictureBox的点击事件,会是这样的:
private void pictureBox1_Click(object sender, EventArgs e)
{
if ((Color)pictureBox1.Tag == Color.Red) { pictureBox1.Tag = Color.Blue; }
else {pictureBox1.Tag = Color.Red; }
pictureBox1.Refresh();
}
在开头需要加上using System.Drawing;
,最后别忘了调用pictureBox1.Refresh()
。享受吧!
Winforms不允许您更改控件的边框颜色,它们由用户选择的主题固定。最简单的方法是将picture box放在面板内,并使其略微缩小,然后只需更改面板的BackColor即可实现所需效果。
设计师会有些麻烦,因为它试图将控件对齐到网格上,请直接在属性窗口中编辑Location和Size属性,而不是使用鼠标操作。