按值傳參byval,和按引用byref
柯橋網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、響應(yīng)式網(wǎng)站開(kāi)發(fā)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。成都創(chuàng)新互聯(lián)2013年至今到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)。
vb.net里默認(rèn)是byval,這和vb6不同 :)
線程結(jié)束后利用委托生成事件返回,線程應(yīng)用包括傳入和傳出參數(shù)。
Public Delegate Sub ThreadCallback(value As ThreadResult)
Public Class Form1
Private WithEvents _th_1 As Thread_1
Protected Overrides Sub OnLoad(e As System.EventArgs)
Dim value As ThreadObject
value.Index = 1
Me._th_1 = New Thread_1(Me)
Me._th_1.Run(value)
MyBase.OnLoad(e)
End Sub
Private Sub Thread_1_End(sender As Object, e As ThreadEventArgs) Handles _th_1.ThreadEnd
Me.TextBox1.Text = e.Result.Text
End Sub
End Class
Public Class Thread_1
Public Event ThreadEnd(sender As Object, e As ThreadEventArgs)
Private _control As Control
Sub New(control As Control)
Me._control = control
End Sub
Public Sub Run(value As Object)
Dim th As New Threading.Thread(AddressOf ThreadProc)
th.Start(value)
End Sub
Private Sub ThreadProc(obj As Object)
Dim value As ThreadObject = CType(obj, ThreadObject)
Dim result As ThreadResult = Nothing
If value.Index = 1 Then result.Text = "測(cè)試"
Dim callback As New ThreadCallback(AddressOf ThreadInvoke)
_control.Invoke(callback, result)
End Sub
Private Sub ThreadInvoke(value As ThreadResult)
RaiseEvent ThreadEnd(Me, New ThreadEventArgs(value))
End Sub
End Class
Public Structure ThreadObject
Public Index As Integer
'Public Rect As Rectangle
End Structure
Public Structure ThreadResult
Public Text As String
'Public Rect As Rectangle
End Structure
Public Class ThreadEventArgs
Inherits System.EventArgs
Private _result As ThreadResult
Public ReadOnly Property Result As ThreadResult
Get
Return _result
End Get
End Property
Sub New(value As ThreadResult)
Me._result = value
End Sub
End Class
新窗體中寫(xiě)
構(gòu)造函數(shù)
,然后調(diào)用。
比如你要調(diào)用的新窗體是From1.cs這個(gè)窗體,
public
Form1(要傳入的參數(shù))
{
//把傳入的參數(shù)傳入窗體中
//執(zhí)行窗體標(biāo)準(zhǔn)內(nèi)容
}
然后在需要調(diào)用的地方調(diào)用
Form1
f
=
new
Form1(傳出的參數(shù));
'--------Form1--------
Dim
f2
As
Form2
Private
Sub
Command1_Click()
Set
f2
=
New
Form2
f2.Show
vbModal
End
Sub
'--------Form1
End--------
'--------Form2--------
Dim
WithEvents
f3
As
Form3
Private
Sub
Command1_Click()
Set
f3
=
New
Form3
f3.Show
End
Sub
Public
Sub
f3_f2W()
Me.Command1.Caption
=
"f2W"
End
Sub
'--------Form2
End--------
'--------Form3--------
Public
Event
f2W()
Private
Sub
Command1_Click()
RaiseEvent
f2W
End
Sub
'--------Form3
End--------
f.Show();
如此就能實(shí)現(xiàn)調(diào)用了。
public structure struc
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通過(guò)參數(shù)返回一個(gè)對(duì)象,對(duì)象可以來(lái)源于某個(gè)數(shù)組的某個(gè)元素,也可以是其他來(lái)源。
people也可以是類的構(gòu)造方法,而shengao等是類的成員,但你的寫(xiě)法是錯(cuò)誤的,構(gòu)造方法必須用new實(shí)例化
VB.NET可選參數(shù)的默認(rèn)值必須是一個(gè)常數(shù)表達(dá)式。
過(guò)程定義中跟在可選參數(shù)后的每個(gè)參數(shù)也都必須是可選的。
下面的語(yǔ)法顯示帶VB.NET可選參數(shù)的過(guò)程聲明:
Sub sub name(ByVal parameter 1 As data type 1,
Optional ByVal parameter 2 As data type 2 = default value)
調(diào)用帶VB.NET可選參數(shù)的過(guò)程
過(guò)程在運(yùn)行時(shí)無(wú)法檢測(cè)到給定的參數(shù)是否已被省略,或者調(diào)用代碼是否已顯式提供默認(rèn)值。如果需要弄清楚這一點(diǎn),可以設(shè)置一個(gè)不可能的值作為默認(rèn)值。下面的過(guò)程定義了可選參數(shù) office,并測(cè)試其默認(rèn)值 QJZ 以查看它在調(diào)用中是否已被省略:
Visual Basic
Sub notify(ByVal company As String, Optional ByVal office As String = "QJZ")
If office = "QJZ" Then
Debug.WriteLine("office not supplied -- using Headquarters")
office = "Headquarters" End If
' Insert code to notify headquarters or specified office.
End Sub
如果可選參數(shù)是像 String 這樣的引用類型,只要它不是該變量所預(yù)期的值,就可以使用 Nothing 作為默認(rèn)值。
VB.NET可選參數(shù)和重載
定義帶可選參數(shù)的過(guò)程的另一種方法是使用重載。如果有一個(gè)可選參數(shù),可以定義過(guò)程的兩個(gè)重載版本,一個(gè)接受此參數(shù),另一個(gè)則不帶參數(shù)。此方法隨可選參數(shù)數(shù)目的增加而變得更復(fù)雜。然而,這樣做的優(yōu)點(diǎn)是可以完全確定調(diào)用程序是否提供了每個(gè)VB.NET可選參數(shù)。
兩個(gè)參數(shù):一個(gè)是數(shù)組名,一個(gè)是傳遞的長(zhǎng)度
Function thename(ByVal imgFrom As Image) As String
thename = imgFrom.Name
End Function
Private Sub Image1_Click()
MsgBox thename(Image1)
End Sub
網(wǎng)站題目:vbnet參數(shù) vbs telnet
標(biāo)題來(lái)源:http://jinyejixie.com/article30/hpccso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、ChatGPT、網(wǎng)站設(shè)計(jì)公司、電子商務(wù)、企業(yè)網(wǎng)站制作
聲明:本網(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)