正文
vb.net传递参数损失的简单介绍
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
VB.net 两个窗体之间传递参数
新窗体中写构造函数,然后调用。
比如你要调用的新窗体是From1.cs这个窗体,
public Form1(要传入的参数)
{
//把传入的参数传入窗体中
//执行窗体标准内容
}
然后在需要调用的地方调用
Form1 f = new Form1(传出的参数);
'--------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();
如此就能实现调用了。
关于VB.NET中-引用类型参数传递的问题
1.对象变量与对象本身是不同的,对象变量代表了对象真实数据在内存中的地址.
打个比方,“对象变量”就象你家的地址,“对象本身”就象你家。
你不能说你家的地址(xx路xx号xx房)就是你家,但是可以通过这个地址而找到你家。
2.传值的参数本身是被复制一份的,但这并不意味着它所代表的对象也被复制一份.
有如下一个函数:
Public
Function
Do_delete(ByVal
ps_usr_id
As
String)
As
Boolean
你在调用时可能这样调用:
dim
strID
as
string
strID
=
"kknd001"
if
Do_delete(strID)
then.....
当程序执行到Do_delete函数体里面时ps_usr_id变量其实是按照StrID的值而复制的一个变量。
vb.net 如何传递类参数
线程结束后利用委托生成事件返回,线程应用包括传入和传出参数。
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 = "测试"
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
vb.net 给委托的函数传递参数
两个参数:一个是数组名,一个是传递的长度
Function thename(ByVal imgFrom As Image) As String
thename = imgFrom.Name
End Function
Private Sub Image1_Click()
MsgBox thename(Image1)
End Sub
vb.net2005:2个form之间传递参数的问题,高手进
把form1设为启动项在form3中调用当然是空啊。因为这时候还没有发生form2vb.net传递参数损失的load事件。vb.net传递参数损失你可以在form1vb.net传递参数损失的load事件里面对form2vb.net传递参数损失的变量付值然后把form2对象传给form3vb.net传递参数损失,或者fom2里的变量设为静态的这样不用传对象
VB.NET中向报表传递参数时出错
SetParameters传递vb.net传递参数损失的参数是Parametersvb.net传递参数损失,是 ReportParameter的集合vb.net传递参数损失,转换当然会出错
可以改为 ReportViewer1.LocalReport.SetParameters(New ReportParameter() {temp})
关于vb.net传递参数损失和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。