这一直是我用来做的:
要更改边框颜色,请从 Picturebox 控件的 Paint 事件处理程序中调用它:
private void pictureBox1_Paint_1(object sender, PaintEventArgs e)
{
ControlPaint.DrawBorder(e.Graphics, pictureBox1.ClientRectangle, Color.Red, ButtonBorderStyle.Solid);
}
Run Code Online (Sandbox Code Playgroud)
要动态更改边框颜色,例如从鼠标单击事件中,我使用图片框的 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);
Run Code Online (Sandbox Code Playgroud)
然后,图片框 Click 事件将是这样的:
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();
}
Run Code Online (Sandbox Code Playgroud)
你需要using System.Drawing;在开始时不要忘记pictureBox1.Refresh()在最后调用。享受!
您无法设置a边框的大小和颜色PictureBox.
但你可以做一点技巧来实现这一目标.
将图像设置为BackgroundImage属性.
设置BackgroundImageLayout为Center.
将BackColor属性更改为您想要边框的颜色.
现在调整PictureBox足够大以显示背面颜色,现在在视觉上就像边框一样.
您还可以使用该Padding属性完成最后一步.
希望有所帮助.
| 归档时间: |
|
| 查看次数: |
13523 次 |
| 最近记录: |