第一步:引用進(jìn)名字空間 using System.Drawing;
在東昌府等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需定制制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),全網(wǎng)營(yíng)銷推廣,成都外貿(mào)網(wǎng)站制作,東昌府網(wǎng)站建設(shè)費(fèi)用合理。
第二步:拖一個(gè)panel到Form中,這里叫做panel1
第三步:右鍵點(diǎn)擊panel,打開屬性,然后雙擊Paint的那個(gè)事件
第四步:把這段代碼粘貼到函數(shù)panel1_Paint中
Graphics g = panel1.CreateGraphics();
Pen red = new Pen(Color.Red, 3);
g.DrawLine(red, 12, 12, 190, 190);
第五步:運(yùn)行,看到一條紅色的直線了
ACCESS窗體主要是用來(lái)開發(fā)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的,如果你想在窗體上畫線條的確不太給力。在VB窗體里劃線以坐標(biāo)為參數(shù)使用LINE方法非常方便,但是在OFFICE,ACCESS里的VBA
LINE方法(當(dāng)然需要使用坐標(biāo)參數(shù),聯(lián)機(jī)說明有詳細(xì)介紹)只能應(yīng)用于報(bào)表而不能應(yīng)用于窗體。
若要在ACCESS窗體里面劃線,我建議你使用下列兩種辦法:
1)如果你VB比較熟練,可用VB設(shè)計(jì)一個(gè)帶LINE方法的自定義ActiveX控件,然后再在ACCESS
VBA中引用該控件,之后將你的自定義控件添加到ACCESS窗體里面,你就可以使用那個(gè)ActiveX控件的LINE方法在該控件里繪圖劃線了;
2)使用ACCESS提供的內(nèi)置直線控件(Line)。
首先在ACCESS窗體里放置若干個(gè)Line控件(要用多少個(gè)就放置多少個(gè))將Visible屬性設(shè)置為False,給不同用途的Line控件分別命名為:類型加尾號(hào),例如:X軸標(biāo)尺1,X軸標(biāo)尺2,...
斜線1,斜線2.....
直線1,直線2,......等等
以便以后可集中而不必為每一個(gè)控件壹壹設(shè)置屬性以提高效率,其它屬性暫時(shí)不理。
使用VBA語(yǔ)言設(shè)置Line控件的各種屬性在窗體里的特定位置畫線,例如:
畫斜線
with
斜線1
.Top=300
‘單位:緹
相當(dāng)于一個(gè)像素
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í)你還可以使用其它類型的控件來(lái)畫圖,這要看你的想象力了。
只要你正確設(shè)置各種畫線控件的絕對(duì)和相對(duì)位置及各種屬性值,充分利用VBA的循環(huán)、判斷等語(yǔ)句相信你能夠在ACCESS窗體里畫出各種效果相當(dāng)不錯(cuò)的圖形,如果配合Timer甚至還能繪出動(dòng)畫效果!
具體的VBA實(shí)現(xiàn)代碼這里就不寫了,祝你成功!
1.DataGrid 控件是一種類似于電子數(shù)據(jù)表的綁定控件,可以顯示一系列行和列來(lái)表示 Recordset 對(duì)象的記錄和字段。可以使用 DataGrid 來(lái)創(chuàng)建一個(gè)允許最終用戶閱讀和寫入到絕大多數(shù)數(shù)據(jù)庫(kù)的應(yīng)用程序。DataGrid 控件可以在設(shè)計(jì)時(shí)快速進(jìn)行配置,只需少量代碼或無(wú)需代碼。當(dāng)在設(shè)計(jì)時(shí)設(shè)置了DataGrid 控件的 DataSource 屬性后,就會(huì)用數(shù)據(jù)源的記錄集來(lái)自動(dòng)填充該控件,以及自動(dòng)設(shè)置該控件的列標(biāo)頭。然后您就可以編輯該網(wǎng)格的列;刪除、重新安排、添加列標(biāo)頭、或者調(diào)整任意一列的寬度。
2.在運(yùn)行時(shí),可以在程序中切換 DataSource 來(lái)察看不同的表,或者可以修改當(dāng)前數(shù)據(jù)庫(kù)的查詢,以返回一個(gè)不同的記錄集合。
注意 DataGrid 控件與 Visual Basic 5.0中的 DBGrid 是代碼兼容的,除了一個(gè)例外:DataGrid 控件不支持 DBGrid 的“解除綁定模式”概念。DBGrid 控件包括在 Visual Basic 的 Tools 目錄中。
可能的用法
查看和編輯在遠(yuǎn)程或本地?cái)?shù)據(jù)庫(kù)中的數(shù)據(jù)。
與另一個(gè)數(shù)據(jù)綁定的控件(諸如 DataList 控件)聯(lián)合使用,使用DataGrid控件來(lái)顯示一個(gè)表的記錄,這個(gè)表通過一個(gè)公共字段鏈接到由第二個(gè)數(shù)據(jù)綁定控件所顯示的表。
3.使用 DataGrid 控件的設(shè)計(jì)時(shí)特性
可以不編寫任何代碼,只通過使用 DataGrid 控件的設(shè)計(jì)時(shí)特性來(lái)創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)應(yīng)用程序。下面的說明概要地說明了在實(shí)現(xiàn) DataGrid 控件的典型應(yīng)用時(shí)的一般步驟。完整的循序漸進(jìn)的指示,請(qǐng)參閱主題“DataGrid 方案1: 使用 DataGrid 控件創(chuàng)建一個(gè)簡(jiǎn)單數(shù)據(jù)庫(kù)應(yīng)用程序”。
要在設(shè)計(jì)時(shí)實(shí)現(xiàn)一個(gè) DataGrid 控件
1. 為要訪問的數(shù)據(jù)庫(kù)創(chuàng)建一個(gè) Microsoft 數(shù)據(jù)鏈接 (.MDL) 文件。請(qǐng)參閱“創(chuàng)建 Northwind OLE DB 數(shù)據(jù)鏈接”主題,以獲得一個(gè)示例。
2. 在窗體上放置一個(gè) ADO Data 控件,并將其 ConnectionString 屬性設(shè)置為在第 1 步中所創(chuàng)建的OLE DB 數(shù)據(jù)源。
3. 在這個(gè) Ado Data 控件的 RecordSource 屬性中輸入一條將返回一個(gè)記
錄集的 SQL 語(yǔ)句。例如,Select * From MyTableName Where CustID = 12
4. 在窗體上放置一個(gè) DataGrid 控件,并將其 DataSource 屬性設(shè)置為這個(gè) ADO Data 控件。
5. 右鍵單擊該 DataGrid 控件,然后單擊“檢索字段”。
6. 右鍵單擊該 DataGrid 控件,然后單擊“編輯”。
7. 重新設(shè)置該網(wǎng)格的大小、刪除或添加網(wǎng)格的列。
8. 右鍵單擊該 DataGrid 控件,然后單擊“屬性”。
9. 使用“屬性頁(yè)”對(duì)話框來(lái)設(shè)置該控件的適當(dāng)?shù)膶傩裕瑢⒃摼W(wǎng)格配置為所需的外觀和行為。
在運(yùn)行時(shí)更改顯示的數(shù)據(jù)
在創(chuàng)建了一個(gè)使用設(shè)計(jì)時(shí)特性的網(wǎng)格后,也可以在運(yùn)行時(shí)動(dòng)態(tài)地更改該網(wǎng)格的數(shù)據(jù)源。下面介紹實(shí)現(xiàn)這一功能的通常方法。
更改 DataSource 的RecordSource
更改所顯示的數(shù)據(jù)的最通常方法是改變?cè)?DataSource 的查詢。例如,如果DataGrid 控件使用一個(gè)ADO Data控件作為其 DataSource,則重寫RecordSource和刷新該ADO Data 控件都將改變所顯示的數(shù)據(jù)。
' ADO Data 控件連接的是 Northwind 數(shù)據(jù)庫(kù)的' Products 表。新查詢查找所有
' SupplierID = 12 的記錄。
Dim strQuery As String
strQuery = "SELECT * FROM Suppliers WHERE SupplierID = 12"
Adodc1.RecordSource = strQuery
Adodc1.Refresh
更改 DataSource
在運(yùn)行時(shí),可以將 DataSource 屬性重新設(shè)置為一個(gè)不同的數(shù)據(jù)源。例如,您可能具有若干個(gè) ADO Data 控件,每個(gè)控件連接不同的數(shù)據(jù)庫(kù),或設(shè)置為不同的 RecordSource 屬性。可以簡(jiǎn)單地將 DataSource 從一個(gè) ADO Data控件重新設(shè)置為另一個(gè) ADO Data 控件:
' 將 DataSource 重新設(shè)置為一個(gè)連接到 Pubs 數(shù)據(jù)庫(kù)的、
' 使用 Authors 表的 ADO Data 控件。
Set DataGrid1.DataSource = adoPubsAuthors
重新綁定 DataSource
當(dāng)將 DataGrid 控件用于一個(gè)遠(yuǎn)程數(shù)據(jù)庫(kù),諸如 SQLServer 時(shí),可以改變表的結(jié)構(gòu)。例如,可以給這個(gè)表添加一個(gè)字段。在這種情形下,可以調(diào)用Rebind 方法根據(jù)新的結(jié)構(gòu)來(lái)重新創(chuàng)建該網(wǎng)格。注意,如果已經(jīng)在設(shè)計(jì)時(shí)改變了這個(gè)列的布局,DataGrid 控件將會(huì)試圖重新創(chuàng)建當(dāng)前的布局,包括任何空的列。不過,通過首先調(diào)用 ClearFields 方法,可以強(qiáng)制該網(wǎng)格重新設(shè)置所有的列。
從 DataGrid 返回值
在 DataGrid 被連接到一個(gè)數(shù)據(jù)庫(kù)后,可能想要監(jiān)視用戶單擊了哪一個(gè)單元。可以使用 RowColChange 事件——而不是 Click 事件。如下所示:
Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
' 顯示用戶所單擊的單元的文字、行和列的信息。
Debug.Print DataGrid1.Text; DataGrid1.Row; DataGrid1.Col
End Sub
使用 CellText 和 CellValue 方法
當(dāng)一個(gè)列使用 NumberFormat 屬性設(shè)置格式后,CellText 和 CellValue 屬性是很有用的。NumberFormat 屬性不必更改實(shí)際的數(shù)據(jù)格式就可以更改任何包含數(shù)字的列的格式。例如,給定一個(gè)網(wǎng)格,其中包含一個(gè)名為 ProductID的、包含整數(shù)的列。下面的代碼將使 DataGrid 以"P-0000" 的格式來(lái)顯示數(shù)據(jù)。換句話說,盡管在 ProductID 字段中所包含的實(shí)際數(shù)值為 "3",但該網(wǎng)格所顯示的值將是 "P-0003"。
Private Sub Form_Load()
DataGrid1.Columns("ProductID").NumberFormat = "P-0000"
End Sub
要返回?cái)?shù)據(jù)庫(kù)中所包含的實(shí)際值,應(yīng)使用 CellValue 方法,如下所示:
Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
Debug.Print _
DataGrid1.Columns("ProductID").CellValue(DataGrid1.Bookmark)
End Sub
新聞標(biāo)題:vb.net在控件上畫線 vb畫直線代碼
本文URL:http://www.chinadenli.net/article6/dddscig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、網(wǎng)站設(shè)計(jì)、網(wǎng)站策劃、、網(wǎng)站改版、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)