vb.net窗體上畫線 vb窗體設(shè)計添加菜單

如何通過vb.net WinForm窗體上畫線條或弧線,讓用戶可以用鼠標(biāo)捕捉(選中)已畫的線條。

代碼寫起來可能比較麻煩,給你個思路,就是用GraphicsPath來繪制,然后通過繪制目標(biāo)的鼠標(biāo)移動事件來獲取當(dāng)前鼠標(biāo)在繪制目標(biāo)中的實際位置,再通過GraphicsPath的IsVisible()方法來確認(rèn)鼠標(biāo)是否包含在GraphicsPath中。

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),芮城企業(yè)網(wǎng)站建設(shè),芮城品牌網(wǎng)站建設(shè),網(wǎng)站定制,芮城網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,芮城網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

DrawLine直線比較容易處理,只要得到Line的坐標(biāo)點,然后比較當(dāng)前鼠標(biāo)坐標(biāo)就好。

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

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

Visual Basic PowerPacks下載地址:

使用 LineShape 控件繪制直線:

VB 畫直線

畫直線

為了在兩個坐標(biāo)點之間畫一條直線,可使用 Line 方法的簡單形式,其語法如下:

[object.]Line [(x1, y1)]–(x2, y2)[, color]

其中 Object 是可選擇的;若省略,此方法將在代碼所連接的窗體(當(dāng)前窗體)上畫線。第一對坐標(biāo)也是可選的。就所有的坐標(biāo)值來說,x 和 y 參數(shù)都既可以是整數(shù),也可以是分?jǐn)?shù)。例如,下列語句可在窗體上畫一條斜線。

Line (500, 500)–(2000, 2000)

Visual Basic 所畫出的一條直線,要包括第一個端點,而不是最后一個端點。這種行為在從點到點畫封閉曲線時是有用的。為了畫最后一個端點,應(yīng)使用這種語法:

PSet [Step] (0, 0)[, color]

第一對坐標(biāo) (x1, y1) 是可選的。如果省略這些坐標(biāo),將把該對象的 x,y 當(dāng)前位置(畫圖坐標(biāo))作為端點。當(dāng)前位置是由 CurrentX 和 CurrentY 屬性指定的,然而在其它情況它會等于以前的圖形方法或 Print 方法所畫最后點的位置。如果以前沒有使用過圖形方法或 Print 方法,或沒有設(shè)置 CurrentX 和 CurrentY 屬性,則缺省位置為對象的左上角。

例如,以下語句通過三點連接畫出一個三角形。

'設(shè)置起點的 x 坐標(biāo)。

CurrentX = 1500

'設(shè)置起點的 y 坐標(biāo)。

CurrentY = 500

'向起點的右下方畫一直線。

Line -(3000, 2000)

'向當(dāng)前點的左方畫一直線。

Line -(1500, 2000)

'向右上方畫一直線到起點。

Line -(1500, 500)

Blanker 應(yīng)用程序使用 Line 方法創(chuàng)建出了一些有趣的圖案樣式。為了看到這些圖案,可從“選項”菜單中,選定“Crossfire”,然后選定“Start Demo”按鈕,即可看到。

Step 關(guān)鍵字

PSet、Line、和 Circle 方法使用以下語法可指定一個或多個點:

(x, y)

可在每個點之前加上 Step 關(guān)鍵字,用來指定要畫出的點,是相對最后畫出點的位置。Visual Basic 要將 x 和 y 的值加到最后所畫的點上。例如,下邊這條語句:

Line (100, 200)–(150, 250)

等價于:

Line (100, 200)–Step(50, 50)

在許多情況下,Step 關(guān)鍵字可免除持續(xù)不斷地記錄最后所畫點位置的負(fù)擔(dān)。經(jīng)常最為關(guān)心的可能是兩點的相對位置,而不是它們的絕對位置。

使用顏色參數(shù)

為了改變直線的顏色,應(yīng)將可選的 color 參數(shù)與圖形方法一起使用。例如,下述語句將畫一條深藍(lán)色的直線:

Line (500, 500)–(2000, 2000), RGB(0, 0, 255)

如果省略了 color 參數(shù),將使用在其上畫線的對象的 ForeColor 屬性,來決定直線的顏色。

RND來設(shè)置隨機(jī)值

如何讓用戶在一個窗體或控件上可以隨意畫直線

ACCESS窗體主要是用來開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)的,如果你想在窗體上畫線條的確不太給力。在VB窗體里劃線以坐標(biāo)為參數(shù)使用LINE方法非常方便,但是在OFFICE,ACCESS里的VBA

LINE方法(當(dāng)然需要使用坐標(biāo)參數(shù),聯(lián)機(jī)說明有詳細(xì)介紹)只能應(yīng)用于報表而不能應(yīng)用于窗體。

若要在ACCESS窗體里面劃線,我建議你使用下列兩種辦法:

1)如果你VB比較熟練,可用VB設(shè)計一個帶LINE方法的自定義ActiveX控件,然后再在ACCESS

VBA中引用該控件,之后將你的自定義控件添加到ACCESS窗體里面,你就可以使用那個ActiveX控件的LINE方法在該控件里繪圖劃線了;

2)使用ACCESS提供的內(nèi)置直線控件(Line)。

首先在ACCESS窗體里放置若干個Line控件(要用多少個就放置多少個)將Visible屬性設(shè)置為False,給不同用途的Line控件分別命名為:類型加尾號,例如:X軸標(biāo)尺1,X軸標(biāo)尺2,...

斜線1,斜線2.....

直線1,直線2,......等等

以便以后可集中而不必為每一個控件壹壹設(shè)置屬性以提高效率,其它屬性暫時不理。

使用VBA語言設(shè)置Line控件的各種屬性在窗體里的特定位置畫線,例如:

畫斜線

with

斜線1

.Top=300

‘單位:緹

相當(dāng)于一個像素

567緹=1厘米

.LineSlant=False

'

確定線條左斜還是右斜

.Left=200

.width=800

.height=400

.visible=true

end

with

畫水平線

with

直線2

.Top=300

.Left=900

.width=350

.height=0

.visible=true

end

with

畫垂直線

with

直線3

.Top=300

.Left=900

.width=0

.height=300

.visible=true

end

with

直線的粗細(xì)

用BorderWidth屬性設(shè)置(取值范圍0-6,單位為磅)

直線的顏色

用Bordercolor屬性設(shè)置(例如取

vbBlue,vbGreen,vbRed

等等)

特別提醒一下,除了使用直線控件外,其實你還可以使用其它類型的控件來畫圖,這要看你的想象力了。

只要你正確設(shè)置各種畫線控件的絕對和相對位置及各種屬性值,充分利用VBA的循環(huán)、判斷等語句相信你能夠在ACCESS窗體里畫出各種效果相當(dāng)不錯的圖形,如果配合Timer甚至還能繪出動畫效果!

具體的VBA實現(xiàn)代碼這里就不寫了,祝你成功!

新聞名稱:vb.net窗體上畫線 vb窗體設(shè)計添加菜單
網(wǎng)頁地址:http://www.muchs.cn/article6/doeojig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、營銷型網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站軟件開發(fā)、網(wǎng)站維護(hù)、網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站