如何正确设计我的程序?

时间:2014-02-16 09:21:13

标签: vb.net winforms

我在很多样本中都看到,程序员只使用细而窄的图片或一些小图片来设计他们的程序,扩展这些图片,或者有时他们会在图片中放置许多图标,然后再使用它们。

我想知道他们是如何做到这一点的,例如如何使用小图片作为我的表格背景。

顺便说一句,抱歉我的英语不好。

1 个答案:

答案 0 :(得分:1)

许多开发人员将多个图像放在一个图像中。您可以使用draw a portion对象graphics对图像进行{{3}}。

想象一个人的图像包含10张尺寸为16x16(px)的图像。

Dim image As New Bitmap((10 * 16), 16)

现在,如果要将第三张图像作为背景图像绘制,则可以这样做:

Public Class MyForm
    Inherits Form

    Public Sub New()
        MyBase.SetStyle(ControlStyles.OptimizedDoubleBuffer Or ControlStyles.ResizeRedraw Or ControlStyles.AllPaintingInWmPaint, True)
    End Sub

    Protected Overrides Sub OnPaint(e As System.Windows.Forms.PaintEventArgs)

        'The source image.
        Dim image As Bitmap = My.Resources.myimage

        'The number of the image to be drawn. (1 - 10)
        Dim nr As Integer = 3

        'The x axis of the image portion.
        Dim x As Integer = (16 * (nr - 1))

        'Destination rectangle. (MyForm)
        Dim destinationRect As New Rectangle(0, 0, Me.Width, Me.Height)

        'Source rectangle. The portion of the image to be drawn.
        Dim imagePortionRect As New Rectangle(x, 0, 16, 16)

        'Draw image.
        e.Graphics.DrawImage(image, destinationRect, imagePortionRect, GraphicsUnit.Pixel)

        MyBase.OnPaint(e)

    End Sub

End Class