2012-09-12 50 views
2

我有一个窗体,我用作启动画面。由于它是一个飞溅,它没有边界。初始屏幕是白色的,所以当它加载的东西是白色的时候它看起来很有趣。我正在考虑在约1像素左右的表单上添加一个轮廓,以便为它指定一个细小的边框。可以把它看作是在Photoshop中为图像添加笔划。我将如何做到这一点?我正在使用vb.net。如何绘制无边界形式的轮廓?

回答

5

你可以使用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 

(可以替换任何PenPens.Black,当然)。

+0

完美的作品。对此,我真的非常感激。 – user1632018

+0

奇怪的是,我认为唯一的错误是即使表单的背景设置为白色,它也会将背景绘制为背后的任何颜色。当主窗体加载时,启动画面也不会自动关闭。这不是一个问题,因为我可以在主窗体的form_load上手动关闭它。我只是想知道为什么会发生这种情况? – user1632018

+0

@ user1632018:你确定它没有像覆盖'OnPaintBackground'之前那样行事? (关于结束,我的意思是。)至于绘制背后的任何颜色,这是我的错误;请参阅编辑。 – Ryan