通过表单 vb.net 传递引用
Posted
技术标签:
【中文标题】通过表单 vb.net 传递引用【英文标题】:Passing References through forms vb.net 【发布时间】:2014-12-26 18:30:20 【问题描述】:有没有人对vb.net有很好的了解。我正在做我最后一个学期的项目。我需要在表单之间传递对象。我在这里有两种形式的代码。 http://pastebin.com/xP1LdL3t
http://pastebin.com/fpuY98NT 要连接到 irc 服务器,我正在使用 irc.Connect() 函数。它在我的频道表单上完美运行,并且仅在用户想要连接或表单加载时调用。当我双击在线用户列表时,会打开一个私人消息表单。而且我无法发送 irc.sendraw 命令,并且该表单没有调用 irc.Connect()。不应该以每种形式调用它。我想要的是在其他表单上使用通道的连接状态,以便 irc.sendraw 命令可以工作。 如果我未能正确解释,请告诉我。
【问题讨论】:
没有人想点击链接并通过代码墙工作,编辑您的问题以提供相关部分。请阅读this。 欢迎来到 Stack Overflow!请花点时间仔细地查看:How to Ask 【参考方案1】:不清楚您所说的“通过引用”是什么意思。有几种方法可以在表单之间进行通信。以下是一些:
以一种形式声明公共变量或属性以供其他形式访问。如果您这样做,请确保您使用的是包含公共变量的表单的正确实例。如果您在加载该表单之前引用这些变量之一,您最终会得到该表单的两个实例并且事情会变得混乱。
使用公共方法,类似于(1)
在单独的模块中声明全局变量,以供项目中的任何表单访问。 (有些人认为这是不礼貌的行为。)
在表单之间传递参数。
引发要以另一种形式处理的事件。
【讨论】:
【参考方案2】:基本上, 如果你想通过 Form 1 中的函数在 Form 2 中运行,你可以这样做:
Public Class Form1
Dim x As Integer = 2
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Form2.fun(x)
Form2.Show() ' it's optional
End Sub
End Class
在表格 2 中,您只需将值设为 ref:
Public Class Form2
Dim y As Integer 'the variable to get the value of x
Public Sub fun(ByRef x As Integer)
y = x
End Sub
End Class
希望它能帮到你,这就是你想要的。
【讨论】:
以上是关于通过表单 vb.net 传递引用的主要内容,如果未能解决你的问题,请参考以下文章