public structure struc

站在用戶的角度思考問題,與客戶深入溝通,找到岑溪網(wǎng)站設(shè)計與岑溪網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、空間域名、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋岑溪地區(qū)。
public name as string
public shengao as integer
……
end structure
public items as struc()
readonly property people(argname as string) as struc
get
for each i as struc in items
if i.name=argname then reture i
next
end get
end property
struc可以用class,property可以用function,people通過參數(shù)返回一個對象,對象可以來源于某個數(shù)組的某個元素,也可以是其他來源。
people也可以是類的構(gòu)造方法,而shengao等是類的成員,但你的寫法是錯誤的,構(gòu)造方法必須用new實例化
用type關(guān)鍵字定義(VB.NET是Structure關(guān)鍵字)
或者定義一個class.VB6是類模塊,VB.NET就是class類
例(VB6)
type Point
X as Integer
Y as Integer
end type
條用 dim zuobiao as point
zuobiao.x=你想要的X
zuobiao.y=你想要的Y
VB.NET
Structure Point
Dim X As Integer
Dim Y As Integer
End Structure
條用,要先創(chuàng)建實例對象
Dim X As New Point
X.X = 0
X.Y = 0
首先,你已經(jīng)完成的步驟是:
1.新建一個用戶控件[注意,用戶控件(UserControl)不是自定義控件(CustomControl)]
2.給用戶控件起個名字(我在此處起名叫 RadioList)
3.在用戶控件上畫一個 GroupBox,命名為 RadioGroup,
并將其 Dock 屬性設(shè)置為 Fill
然后,你需要做的是動態(tài)增減控件。
如果你以前用過 VB 6,你可能會想到控件數(shù)組,
但在此處,你可以直接增刪控件。
具體實現(xiàn)如下:
4.在 GroupBox 里畫一個 FlowLayoutPanel,命名為 RadioPanel,
將其 AutoScroll 屬性設(shè)置為 True,即自動顯示滾動條,
并設(shè)置其 FlowDirection 屬性(例如設(shè)置為 TopDown)
這樣就省去了手動調(diào)整 RadioButton 位置的麻煩
5.實現(xiàn)選項的動態(tài)增減(以下只是我的思路,你可以發(fā)揮一下)
(十分簡潔,注釋除外):
''' summary
''' 創(chuàng)建一個新的 RadioButton。
''' /summary
Private Function CreateRadio() As RadioButton
Dim NewRadio As New RadioButton
components.Add(NewRadio)
'components 字段由控件設(shè)計器自動創(chuàng)建,
'此代碼目的是使控件在銷毀(Dispose)時能自動銷毀 RadioButton
'詳情參見 RadioList.Designer.vb
NewRadio.Parent = RadioPanel
'設(shè)置容器
AddHandler NewRadio.CheckedChanged, AddressOf RadioButtons_CheckedChanged
'設(shè)置事件處理程序
Return NewRadio
End Function
''' summary
''' 移除已存在的 RadioButton。
''' /summary
Private Sub RemoveRadio(ByVal dest As RadioButton)
components.Remove(dest)
dest.Dispose()
End Sub
'無中生有的 RadioButton 的事件處理程序
Private Sub RadioButtons_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
'在此處設(shè)置選中項的屬性,通過 sender 來確定不同的 OptionButton
'你可以通過將 OptionButton 放在一個列表,
'如 List(Of OptionButton) 中來像數(shù)組一樣維護(hù)選項的次序
'注意,此處需要判斷 sender 的 Checked 屬性是否為 True
'因為 Changed 是“改變”,而不是“選中”
'例如:
If DirectCast(sender, RadioButton).Checked Then
SelectedIndex = ...
End If
End Sub
注意下你給ButtonTop的Image屬性賦值的地方,你的屬性SET里是針對【上】這個類的改變,你如果這樣寫是觸發(fā)不了屬性改變的:
ButtonTop.背景?=?Image.FromFile("C:/1.png")
正確的處理辦法應(yīng)該是new一個【上】類的對象,初始化時進(jìn)行賦值就可以了
Me.ButtonTop?=?New?Class1()?With?{.背景?=?Image.FromFile("C:/1.png")}
在項目A里添加引用,在“添加引用”對話框里找到項目B就可以了。也可以先把項目B生成dll文件,然后在項目A中添加對這個dll文件的引用。
代碼已測試。
一、測試需要的INI文件。名稱為“setinfo.ini”,存放路徑為你解決方案里“Bin“文件夾的”Debug“文件夾里。
內(nèi)容:
[Location]
pnlTime.Location.X=787
pnlTime.Location.Y=0
[TopMost]
Top=True
二、操作INI文件的類。新建一個類,類中內(nèi)容為:
Public?Class?Class1
Public?Declare?Function?GetPrivateProfileString?Lib?"kernel32"?Alias?"GetPrivateProfileStringA"?_
(?_
ByVal?lpApplicationName?As?String,?_
ByVal?lpKeyName?As?String,?_
ByVal?lpDefault?As?String,?_
ByVal?lpReturnedString?As?String,?_
ByVal?nSize?As?Int32,?_
ByVal?lpFileName?As?String?_
)?As?Int32
End?Class
三、界面代碼:
Imports?System.IO?'for?path
Public?Class?Form1
Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click
getINI()
End?Sub
Private?Sub?getINI()
Dim?iniclass?As?New?Class1?'
Dim?myBf?As?String?'get?set_info?開辟存儲的內(nèi)存
myBf?=?New?String(CChar(""),?256)
Dim?myFN?As?String?'配置文件的文件路徑
myFN?=?Path.Combine(My.Application.Info.DirectoryPath,?"setinfo.ini")
Dim?myAN?As?String?'Application_NAME,也是Section名稱
myAN?=?Me.TextBox1.Text
Dim?myKN?As?String?'KEY_NAME,關(guān)鍵字名稱
myKN?=?Me.TextBox2.Text
Class1.GetPrivateProfileString(myAN,?myKN,?"",?myBf,?myBf.Length,?myFN)?'調(diào)用讀取INI文件的操作
TextBox3.Text?=?Microsoft.VisualBasic.Left(myBf,?InStr(myBf,?Chr(0))?-?1)?'截取有用部分,有必要
End?Sub
End?Class
四、測試截圖如下
網(wǎng)頁標(biāo)題:vb.net中自定義對象,vb自定義類
網(wǎng)站鏈接:http://chinadenli.net/article17/dsgpodj.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、企業(yè)建站、搜索引擎優(yōu)化、網(wǎng)站營銷、企業(yè)網(wǎng)站制作、品牌網(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)