真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

vb.net畫筆選擇直線 vb畫直線代碼

VB.NET 畫直線 問題 怎樣讓直線置頂(就是不被其它控件覆蓋) 100分(希望詳細(xì)些)如較麻煩,會追加分?jǐn)?shù)

這個必須用控件的方法解決,VB6有個Line控件很容易解決這個問題,但是VB.NET沒有了,幸好微軟也想到了這個缺陷,提供免費的Visual Basic PowerPacks控件箱,其中有Line控件。

阿巴嘎ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!

Visual Basic PowerPacks下載地址:

使用 LineShape 控件繪制直線:

vb.net 畫線再畫保留以前畫得

可以把所有畫的線都保存在一個列表中,畫的時候全部畫出即可。如下:

Public?Class?Form1

Class?Line? ? ? '直線類

? Public?Point1,?Point2?As?Point? ? ?'成員,直線的兩個端點

? Sub?New(p1?As?Point,?p2?As?Point)? ?'構(gòu)造方法

? ? ? Point1?=?p1

? ? ? Point2?=?p2

? End?Sub

? Public?Sub?Draw(g?As?Graphics)? ? ? '繪制方法

? ? ? g.DrawLine(Pens.Black,?Point1,?Point2)

? End?Sub

End?Class

Private?Lines?As?New?List(Of?Line)? ? ? '列表用于保存所有畫下的直線

Private?Sub?Form1_Load(sender?As?Object,?e?As?EventArgs)?Handles?MyBase.Load

? BackColor?=?Color.White

? DoubleBuffered?=?True? ? ? ?'開啟雙緩沖可有效避免閃爍

End?Sub

Private?Sub?Form1_MouseDown(sender?As?Object,?e?As?MouseEventArgs)?Handles?Me.MouseDown

? Lines.Add(New?Line(e.Location,?e.Location))? ? ?'在直線列表中添加直線

End?Sub

Private?Sub?Form1_MouseMove(sender?As?Object,?e?As?MouseEventArgs)?Handles?Me.MouseMove

? If?e.Button??Windows.Forms.MouseButtons.Left?Then?Return?'左鍵未按下

? '鼠標(biāo)拖動時改變列表最后一條直線(也即當(dāng)前直線的第二個端點)

? Lines(Lines.Count?-?1).Point2?=?e.Location

? Refresh()? ? ? ?'刷新窗體

End?Sub

'在Form的Paint事件中繪制所有直線,每次Form1重繪時都會觸發(fā)Paint事件

'PS:?也可以通過重寫OnPaint方法來達(dá)到類似的效果

Private?Sub?Form1_Paint(sender?As?Object,?e?As?PaintEventArgs)?Handles?Me.Paint

? e.Graphics.SmoothingMode?=?Drawing2D.SmoothingMode.AntiAlias? ? '開啟抗鋸齒

? For?Each?l?In?Lines? ? ?'遍歷所有直線

? ? ? l.Draw(e.Graphics)? '調(diào)用繪制方法,傳入的參數(shù)可以理解為畫布

? Next

End?Sub

End?Class

運行效果:

vb.net的picturebox畫直線的函數(shù)是哪個?vb6.0是picture1.line就可以,但是vb.net沒有啊

Dim PtStart As Point '記錄繪制直線的起始點

Dim PtEnd As Point '記錄繪制直線的終點

Dim ShouldDrawLine As Boolean '是否繪制直線

'記錄鼠標(biāo)左鍵點擊的位置,第二次點擊后開始繪制直線

Private Sub Pic1_MouseDown()Sub Pic1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Pic1.MouseDown

If e.Button = Windows.Forms.MouseButtons.Left Then

If Not ShouldDrawLine Then

PtStart = New Point(e.X, e.Y)

ShouldDrawLine = True

Else

PtEnd = New Point(e.X, e.Y)

'下面兩句根據(jù)需要進(jìn)行取舍

'Call DrawLine(PtStart, PtEnd) '繪制一條直線

Call DrawLines(PtStart, PtEnd) '繪制多條直線

ShouldDrawLine = False

End If

End If

End Sub

'繪制鼠標(biāo)兩次點擊位置之間的直線

Private Sub DrawLine()Sub DrawLine(ByVal mPoint1 As Point, ByVal mPoint2 As Point)

Pic1.Refresh() '用于刷新Picturebox表面

Pic1.CreateGraphics.DrawLine(Pens.Blue, mPoint1, mPoint2) '繪制兩點間的直線

End Sub

'繪制多條直線,每兩次鼠標(biāo)點擊確定一條線

Private Sub DrawLines()Sub DrawLines(ByVal mPoint1 As Point, ByVal mPoint2 As Point)

'此句不可刪除,用于清除鼠標(biāo)點擊前的軌跡

ControlPaint.DrawReversibleLine(Pic1.PointToScreen(mPoint1), Pic1.PointToScreen(mPoint2), Color.Red)

Pic1.CreateGraphics.DrawLine(Pens.Blue, mPoint1, mPoint2) '繪制兩點間的直線

End Sub

vb和vb.net 在picturebox 中繪制直線如何繪制

繪圖是系統(tǒng)內(nèi)部操作的,不需要懂原理

方法就在那里,只有會用和不會用,你的代碼告訴它繪制,它就會繪制。它(方法)究竟如何去繪制的并不是重點,反正它會繪制。

drawline(繪線)方法很簡單,第一個參數(shù)是pen,它確定線條的顏色、寬度和樣式。第二、第三個參數(shù)都是point類型,確定兩個點的位置,繪制直線。

VB.Net中畫直線問題

不想整個重畫,最好用單色的背景,例如黑色,線條是白色的

用變量把線條的內(nèi)容備份

當(dāng)想改變線條的位置或者長度之前,先用存下來的變量以黑色重畫一次,覆蓋原來的白色線條

然后再畫新的白色線條,這種重畫方法比較節(jié)省資源

假如需要用花哨的背景或者圖片當(dāng)背景,也可以用局部重回的方式。

代碼就不提供了,只提供思路。

vb.net 畫直線問題

'把“Dim graph As Graphics = Me.CreateGraphics”挪到“Button1_Click”事件內(nèi),調(diào)試過成功!

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim graph As Graphics = Me.CreateGraphics

Dim pen2 As Pen = New Pen(Color.Green, 3)

graph.DrawLine(pen2, 400, 400, 500, 200)

End Sub

End Class


網(wǎng)頁標(biāo)題:vb.net畫筆選擇直線 vb畫直線代碼
文章地址:http://weahome.cn/article/hjpdcj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部