VB.NET 中,定义sub的时候,byval后面可以定义事件的参数类型么?

比如说
以前定义过事件A
Sub A()
End sub
现在我定义事件B
Sub B(ByVal X As '参数类型)
‘想在这里弄事件A,怎么写X的参数类型呢?
End Sub

括号里只能传参数,不能传过程和函数,形参的参数类型按需要写,不知道该写啥就不写,但是不写容易出错
你想在过程B内部调用A过程,直接call A就行追问

只是有很多的可能用到的事件……比如一个地方我想call A 另一个地方我想Call B,请问这样有办法做到么?

追答

可以,想在哪call就在哪call,最后逐行调试是按照你的想法来就行

追问

额,不好意思我说串了。我的意思是过程B会被多次使用,而使用B过程中有时候想用到Call A1 有时候想用到Call A2,有时候Call A3, 就想弄个参数A(ByVal A As...),这样能实现么?

追答

可以啊,你自己能缕清思路就可以写

追问

主要是我不知道事件的参数类型啊。可以(ByVal A As 事件)么?单精数用single表示,整数用integer表示,文本用string表示,事件可以用什么表示呢?我就是想知道这个。

追答

call直接加过程名,不需要别的东西

直接就写Call A,需要传参数就后面括号里写参数

温馨提示:内容为网友见解,仅供参考
无其他回答

VB.net子程序传参的困惑(ByVal 和Byref 没有区别的时候是为什么??)
这里觉得没有区别,是因为在SubAddRow 里,我们并没有试图改变形参 t 本身,我们所做的改变都是 t.Rows,我们为 t 添加了行。对于形参和实参而言,在ByVal 模式下 temTable 和 t 指向了同一块内存,但是这两个变量本身并不在同一个地址上。在改变 t.Rows时,由于二者都指向同一块内存,所以更...

如何使用VB.NET中可选参数调用方法
VB.NET可选参数的默认值必须是一个常数表达式。过程定义中跟在可选参数后的每个参数也都必须是可选的。下面的语法显示带VB.NET可选参数的过程声明:Sub sub name(ByVal parameter 1 As data type 1,Optional ByVal parameter 2 As data type 2 = default value)调用带VB.NET可选参数的过程 过...

vb和vb.net的区别
1.3 VB.NET 编辑器和编译器你可以在记事本或VS.NET IDE等任意文本编辑器中撰写上述代码,然后保存为HelloWorld.vb。 代码编写完成之后,要么在命令行、要么在VS.NET IDE中编译它。在Microsoft .NET Framework SDK中已经包括VB.NET编译器vbc.exe[][1],从IDE或是命令行都可以调用。要从命令行编译HelloWorld.vb,请...

在VB.net里定义的控件数组怎么定义事件
Imports System.TextImports System.WindowsImports System.Windows.FormsPublic Class Netin '类 名 'Inherits Forms.Form Public Shared Netin As New Form Public components As ComponentModel.IContainer Protected Overrides Sub Finalize() MyBase.Finalize() End Sub <DebuggerStepThr...

vb.net 类中 定义了 dim withevents mpc as picturebox 还有picturebox...
Public Sub PicCurve_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PicCurve.Paint 在窗体中调用的方法就是实例化类就行了。因为这个类有NEW所以在实例化的时候要赋参数 代码如下数值是我临时写的。调用的时候你根据实际情况改一下就行。参数PictureBox1是...

VB.NET 在线程里用textbox,提示 线程间操作无效: 从不是创建控件“Text...
Public Delegate Sub VoidDelegate() '定义委托类型 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Dim th1 As New System.Threading.Thread(AddressOf MyThreadProc) '声明线程 th1.Start() '启动线程运行 MyThreadProc过程 End Sub Public ...

关于VB里proc调用和ByVal、ByRef的用法。
而当参数并没有声明以ByVal或者ByRef时调用参数时 其实就是默认省略了以ByRef方式调用(也就是不产生替身的方式,值得注意的是,这个规则是仅适用于VB6以及之前的版本的 在VB.NET中是默认省略了ByVal方式)了解了这些 你就知道为什么选A了.题目要求是要返回形参的变化结果,而使用替身操作的ByVal方式并没会...

在VB.NET编程中使用数组
由于数组为引用类型,所以如果以数组为参数过程和函数在定义时候就要多加以注意,下面代码是在Visual 申明一个参数为数组的过程的典型代码,可见在调用数组类型之前多了一个关键字“ByVal”,“ByVal”关键字的作用在于在下面调用的过程中的不能更改数组的数值:Sub DisplayArray ( ByVal myString ( ) As String )End...

...click(byvalsenderas system.object,byvaleassystem.eventargs)ha...
这句本身包括了 1. 定义一个方法,button1_click(byvalsenderas system.object,byvaleassystem.eventargs) 包括返回值和输入参数,英文叫 Event Handler。2. 同时把该方法绑定在 buttON1.CLICK 事件上。另外 在VB.net 里事件定义是用关键字 Event 比如:Public Event SalarySecurityEvent(ByVal Sender...

vb.net中如何调用控件的事件 参数怎么写 例子:
TextBox1_GotFocus(sender,e)如果调用的那个方法不是 (ByVal sender As Object, ByVal e As System.EventArgs)这个签名的话,用TextBox1_GotFocus(Nothing, Nothing)也行,但是不太好。

相似回答