【发布时间】:2012-09-05 00:53:36
【问题描述】:
我有一个用作启动画面的表单。因为它是一个飞溅,所以它没有边框。启动画面是白色的,所以当它加载到其他白色的东西上时,它看起来很有趣。我正在考虑在表单周围添加一个大约 1 px 左右的轮廓,以便给它一个细边框。可以将其视为在 Photoshop 中为图像添加笔触。我该怎么做?我正在使用 vb.net。
【问题讨论】:
标签: vb.net visual-studio-2010 user-interface gdi
我有一个用作启动画面的表单。因为它是一个飞溅,所以它没有边框。启动画面是白色的,所以当它加载到其他白色的东西上时,它看起来很有趣。我正在考虑在表单周围添加一个大约 1 px 左右的轮廓,以便给它一个细边框。可以将其视为在 Photoshop 中为图像添加笔触。我该怎么做?我正在使用 vb.net。
【问题讨论】:
标签: vb.net visual-studio-2010 user-interface gdi
你可以使用 GDI+:
Protected Overrides Sub OnPaintBackground(ByVal e As PaintEventArgs)
MyBase.OnPaintBackground(e)
Dim rect As New Rectangle(0, 0, Me.ClientSize.Width - 1, Me.ClientSize.Height - 1)
e.Graphics.DrawRectangle(Pens.Black, rect)
End Sub
(当然,您可以将任何Pen 替换为Pens.Black。)
【讨论】:
OnPaintBackground 之前没有那样做吗? (关于结束,我的意思是。)至于画它背后的任何颜色,那是我的错误;见编辑。
您还可以使用以下内容:
Private Sub frm_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint
ControlPaint.DrawBorder(e.Graphics, Me.ClientRectangle, Color.Black, ButtonBorderStyle.Outset)
End Sub
Color 和 ButtonBorderStyle 都可以根据您的需要进行自定义。
【讨论】:
如果您在表单中使用停靠面板,现在可能会显示此边框。如果您在表单中使用停靠面板,我建议在表单的所有边缘提供 1 的“填充”。这非常有效。
【讨论】: