VB.NET中画直线
Public Class Main Public grapChessboard As Graphics = Me.CreateGraphics Dim nHorizon As IntegerPrivate Sub Main_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint For nHorizon = 100 To 480 Step 10 grapChessboard.DrawLine(Pens.Black, 50, nHorizon, 430, nHorizon) Next grapChessboard.DrawLine(Pens.BlueViolet, 10, 100, 20, 100) grapChessboard.DrawLine(Pens.BlueViolet, 10, 380, 20, 380)'没画出来
Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint Dim nHorizon As Integer For nHorizon = 100 To 480 Step 10 e.Graphics.DrawLine(Pens.Black, 50, nHorizon, 430, nHorizon) e.Graphics.DrawString(nHorizon.ToString, New Font("宋体", 9), Brushes.Red, 450, nHorizon - 5) Next e.Graphics.DrawLine(Pens.BlueViolet, 10, 100, 40, 100) e.Graphics.DrawLine(Pens.BlueViolet, 10, 480, 40, 480) End Sub
[解决办法]
Public Class Main
Dim nHorizon As Integer
Private Sub Main_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
dim grapChessboard As Graphics = Me.CreateGraphics
For nHorizon = 100 To 480 Step 10
grapChessboard.DrawLine(Pens.Black, 50, nHorizon, 430, nHorizon)
Next
grapChessboard.DrawLine(Pens.BlueViolet, 10, 100, 20, 100)
grapChessboard.DrawLine(Pens.BlueViolet, 10, 380, 20, 380)'没画出来
原因可能如3L所说。