读书人

VB.NET中画直线,该如何处理

发布时间: 2012-04-25 19:32:32 作者: rapoo

VB.NET中画直线

VB.NET code
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)'没画出来

不知道为什么,只画了17条直线,界面大小是600*500的

[解决办法]
grapChessboard
换成
e.Graphic
试试?

[解决办法]

[解决办法]
你的vs版本是什么啊。
我的测试过了。可以哦。
VB.NET code
      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所说。

读书人网 >VB Dotnet

热点推荐