⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmgdilines.vb

📁 This program demonstrates how to draw lines in a picture box using the GDI, controlling background c
💻 VB
📖 第 1 页 / 共 2 页
字号:

                For i = 0 To picDisplay.Width Step 15
                    gMyGraphics.DrawLine(pMyPen, picDisplay.Width, 0, 0, i)
                Next i

            Case "Criss-cross 1"

                For i = picDisplay.Width To 0 Step -15
                    gMyGraphics.DrawLine(pMyPen, picDisplay.Width, picDisplay.Height, i, 0)
                Next i

                For i = picDisplay.Width To 0 Step -15
                    gMyGraphics.DrawLine(pMyPen, 0, picDisplay.Height, i, 0)
                Next i

            Case "Criss-cross 2"

                For i = 0 To picDisplay.Width Step 15
                    gMyGraphics.DrawLine(pMyPen, picDisplay.Width, picDisplay.Height, 0, i)
                Next i

                For i = 0 To picDisplay.Width Step 15
                    gMyGraphics.DrawLine(pMyPen, 0, picDisplay.Height, picDisplay.Width, i)
                Next i

            Case "Criss-cross 3"

                For i = picDisplay.Width To 0 Step -15
                    gMyGraphics.DrawLine(pMyPen, picDisplay.Width, picDisplay.Height, i, 0)
                Next i

                For i = 0 To picDisplay.Width Step 15
                    gMyGraphics.DrawLine(pMyPen, 0, picDisplay.Height, picDisplay.Width, i)
                Next i

            Case "Criss-cross 4"

                For i = 0 To picDisplay.Height Step 15
                    gMyGraphics.DrawLine(pMyPen, picDisplay.Width, 0, 0, i)
                Next i

                For i = picDisplay.Width To 0 Step -15
                    gMyGraphics.DrawLine(pMyPen, 0, picDisplay.Height, i, 0)
                Next i

            Case "Lines from all corners"

                For i = picDisplay.Width To 0 Step -15
                    gMyGraphics.DrawLine(pMyPen, picDisplay.Width, picDisplay.Height, i, 0)
                Next i

                For i = 0 To picDisplay.Width Step 15
                    gMyGraphics.DrawLine(pMyPen, picDisplay.Width, picDisplay.Height, 0, i)
                Next i

                For i = picDisplay.Width To 0 Step -15
                    gMyGraphics.DrawLine(pMyPen, 0, picDisplay.Height, i, 0)
                Next i

                For i = 0 To picDisplay.Width Step 15
                    gMyGraphics.DrawLine(pMyPen, 0, picDisplay.Height, picDisplay.Width, i)
                Next i

                For i = picDisplay.Width To 0 Step -15
                    gMyGraphics.DrawLine(pMyPen, picDisplay.Width, 0, i, picDisplay.Width)
                Next i

                For i = 0 To picDisplay.Width Step 15
                    gMyGraphics.DrawLine(pMyPen, picDisplay.Width, 0, 0, i)
                Next i

                For i = picDisplay.Width To 0 Step -15
                    gMyGraphics.DrawLine(pMyPen, 0, 0, i, picDisplay.Width)
                Next i

                For i = 0 To picDisplay.Width Step 15
                    gMyGraphics.DrawLine(pMyPen, 0, 0, picDisplay.Width, i)
                Next i

        End Select

    End Sub

    Private Sub tmrAnimator_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrAnimator.Tick
        '--------------------------------------------------------------------------
        ' this procedure produces the animated lines.  each time it fires, it clears the picture box
        ' and draws two lines in a new position

        ' this determines what direction the lines are moving in
        If intDirection = 0 Then
            If intPosition < 500 Then
                intPosition = intPosition + 15
            Else
                intDirection = 1 ' turn the animation around
                intPosition = intPosition - 15
            End If
        Else
            If intPosition > 0 Then
                intPosition = intPosition - 15
            Else
                intDirection = 0
                intPosition = intPosition + 15
            End If
        End If

        ' set things up to draw in the picture box
        gMyGraphics = picDisplay.CreateGraphics

        ' get a pen ready to draw the lines
        cMyColor = Color.FromName(CStr(cboPenColors.SelectedItem))
        pMyPen = New Pen(cMyColor, 1)

        ' get a brush ready to draw the background
        cMyColor = Color.FromName(CStr(cboBackgroundColors.SelectedItem))
        bMyBrush.Color = cMyColor

        ' fill in the background, clearing out the last lines
        gMyGraphics.FillRectangle(bMyBrush, 0, 0, picDisplay.Width, picDisplay.Height)

        ' draw two lines in a new position set by intPosition
        gMyGraphics.DrawLine(pMyPen, 0, 0, intPosition, picDisplay.Height)
        gMyGraphics.DrawLine(pMyPen, 0, 0, picDisplay.Width, intPosition)

    End Sub

    Private Sub SetUpCombos()
        '--------------------------------------------------------------------------
        ' this procedure sets up the combo boxes.  it adds text to the picture choice
        ' combo box, and calls another procedure to fill the color combo boxes

        ' add choices to the cboPictureToDraw combo
        cboPictureToDraw.Items.Add("Lines from top left corner")
        cboPictureToDraw.Items.Add("Lines from bottom left corner")
        cboPictureToDraw.Items.Add("Lines from top right corner")
        cboPictureToDraw.Items.Add("Lines from bottom right corner")
        cboPictureToDraw.Items.Add("Lines from top corners")
        cboPictureToDraw.Items.Add("Lines from bottom corners")
        cboPictureToDraw.Items.Add("Lines from crossed corners 1")
        cboPictureToDraw.Items.Add("Lines from crossed corners 2")
        cboPictureToDraw.Items.Add("Criss-cross 1")
        cboPictureToDraw.Items.Add("Criss-cross 2")
        cboPictureToDraw.Items.Add("Criss-cross 3")
        cboPictureToDraw.Items.Add("Criss-cross 4")
        cboPictureToDraw.Items.Add("Lines from all corners")
        cboPictureToDraw.Items.Add("Animated lines")

        ' default picture to paint
        cboPictureToDraw.Text = "Criss-cross 1"

        ' fill the color combo boxes
        Call FillColorCombos(cboPenColors, "Crimson")
        Call FillColorCombos(cboBackgroundColors, "Black")
    End Sub

    Private Sub FillColorCombos(ByVal cboComboToFill As ComboBox, ByVal strStartingColor As String)
        '--------------------------------------------------------------------------
        ' this procedure fills a specified combo box with all of the named colors, and
        ' sets the text of the combo box to a default color setting

        ' add all of the named colors
        With cboComboToFill.Items
            .Add(Color.AliceBlue.Name)
            .Add(Color.AntiqueWhite.Name)
            .Add(Color.Aqua.Name)
            .Add(Color.Aquamarine.Name)
            .Add(Color.Azure.Name)
            .Add(Color.Beige.Name)
            .Add(Color.Bisque.Name)
            .Add(Color.Black.Name)
            .Add(Color.BlanchedAlmond.Name)
            .Add(Color.Blue.Name)
            .Add(Color.BlueViolet.Name)
            .Add(Color.Brown.Name)
            .Add(Color.BurlyWood.Name)
            .Add(Color.CadetBlue.Name)
            .Add(Color.Chartreuse.Name)
            .Add(Color.Chocolate.Name)
            .Add(Color.Coral.Name)
            .Add(Color.CornflowerBlue.Name)
            .Add(Color.Cornsilk.Name)
            .Add(Color.Crimson.Name)
            .Add(Color.Cyan.Name)
            .Add(Color.DarkBlue.Name)
            .Add(Color.DarkCyan.Name)
            .Add(Color.DarkGoldenrod.Name)
            .Add(Color.DarkGray.Name)
            .Add(Color.DarkGreen.Name)
            .Add(Color.DarkKhaki.Name)
            .Add(Color.DarkMagenta.Name)
            .Add(Color.DarkOliveGreen.Name)
            .Add(Color.DarkOrange.Name)
            .Add(Color.DarkOrchid.Name)
            .Add(Color.DarkRed.Name)
            .Add(Color.DarkSalmon.Name)
            .Add(Color.DarkSeaGreen.Name)
            .Add(Color.DarkSlateBlue.Name)
            .Add(Color.DarkSlateGray.Name)
            .Add(Color.DarkTurquoise.Name)
            .Add(Color.DarkViolet.Name)
            .Add(Color.DeepPink.Name)
            .Add(Color.DeepSkyBlue.Name)
            .Add(Color.DimGray.Name)
            .Add(Color.DodgerBlue.Name)
            .Add(Color.Firebrick.Name)
            .Add(Color.FloralWhite.Name)
            .Add(Color.ForestGreen.Name)
            .Add(Color.Fuchsia.Name)
            .Add(Color.Gainsboro.Name)
            .Add(Color.GhostWhite.Name)
            .Add(Color.Gold.Name)
            .Add(Color.Goldenrod.Name)
            .Add(Color.Gray.Name)
            .Add(Color.Green.Name)
            .Add(Color.GreenYellow.Name)
            .Add(Color.Honeydew.Name)
            .Add(Color.HotPink.Name)
            .Add(Color.IndianRed.Name)
            .Add(Color.Indigo.Name)
            .Add(Color.Ivory.Name)
            .Add(Color.Khaki.Name)
            .Add(Color.Lavender.Name)
            .Add(Color.LavenderBlush.Name)
            .Add(Color.LawnGreen.Name)
            .Add(Color.LemonChiffon.Name)
            .Add(Color.LightBlue.Name)
            .Add(Color.LightCoral.Name)
            .Add(Color.LightCyan.Name)
            .Add(Color.LightGoldenrodYellow.Name)
            .Add(Color.LightGray.Name)
            .Add(Color.LightGreen.Name)
            .Add(Color.LightPink.Name)
            .Add(Color.LightSalmon.Name)
            .Add(Color.LightSeaGreen.Name)
            .Add(Color.LightSkyBlue.Name)
            .Add(Color.LightSlateGray.Name)
            .Add(Color.LightSteelBlue.Name)
            .Add(Color.LightYellow.Name)
            .Add(Color.Lime.Name)
            .Add(Color.LimeGreen.Name)
            .Add(Color.Linen.Name)
            .Add(Color.Magenta.Name)
            .Add(Color.Maroon.Name)
            .Add(Color.MediumAquamarine.Name)
            .Add(Color.MediumBlue.Name)
            .Add(Color.MediumOrchid.Name)
            .Add(Color.MediumPurple.Name)
            .Add(Color.MediumSeaGreen.Name)
            .Add(Color.MediumSlateBlue.Name)
            .Add(Color.MediumSpringGreen.Name)
            .Add(Color.MediumTurquoise.Name)
            .Add(Color.MediumVioletRed.Name)
            .Add(Color.MidnightBlue.Name)
            .Add(Color.MintCream.Name)
            .Add(Color.MistyRose.Name)
            .Add(Color.Moccasin.Name)
            .Add(Color.NavajoWhite.Name)
            .Add(Color.Navy.Name)
            .Add(Color.OldLace.Name)
            .Add(Color.Olive.Name)
            .Add(Color.OliveDrab.Name)
            .Add(Color.Orange.Name)
            .Add(Color.OrangeRed.Name)
            .Add(Color.Orchid.Name)
            .Add(Color.PaleGoldenrod.Name)
            .Add(Color.PaleGreen.Name)
            .Add(Color.PaleTurquoise.Name)
            .Add(Color.PaleVioletRed.Name)
            .Add(Color.PapayaWhip.Name)
            .Add(Color.PeachPuff.Name)
            .Add(Color.Peru.Name)
            .Add(Color.Pink.Name)
            .Add(Color.Plum.Name)
            .Add(Color.PowderBlue.Name)
            .Add(Color.Purple.Name)
            .Add(Color.Red.Name)
            .Add(Color.RosyBrown.Name)
            .Add(Color.RoyalBlue.Name)
            .Add(Color.SaddleBrown.Name)
            .Add(Color.Salmon.Name)
            .Add(Color.SandyBrown.Name)
            .Add(Color.SeaGreen.Name)
            .Add(Color.SeaShell.Name)
            .Add(Color.Sienna.Name)
            .Add(Color.Silver.Name)
            .Add(Color.SkyBlue.Name)
            .Add(Color.SlateBlue.Name)
            .Add(Color.SlateGray.Name)
            .Add(Color.Snow.Name)
            .Add(Color.SpringGreen.Name)
            .Add(Color.SteelBlue.Name)
            .Add(Color.Tan.Name)
            .Add(Color.Teal.Name)
            .Add(Color.Thistle.Name)
            .Add(Color.Tomato.Name)
            .Add(Color.Transparent.Name)
            .Add(Color.Turquoise.Name)
            .Add(Color.Violet.Name)
            .Add(Color.Wheat.Name)
            .Add(Color.White.Name)
            .Add(Color.WhiteSmoke.Name)
            .Add(Color.Yellow.Name)
            .Add(Color.YellowGreen.Name)
        End With

        ' set the default combo box color
        cboComboToFill.Text = strStartingColor
    End Sub

End Class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -