【问题标题】:Passing References through forms vb.net通过表单 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

标签: vb.net chat irc


【解决方案1】:

不清楚您所说的“通过引用”是什么意思。有几种方法可以在表单之间进行通信。以下是一些:

  1. 以一种形式声明公共变量或属性以供其他形式访问。如果您这样做,请确保您使用的是包含公共变量的表单的正确实例。如果您在加载该表单之前引用这些变量之一,您最终会得到该表单的两个实例并且事情会变得混乱。

  2. 使用公共方法,类似于(1)

  3. 在单独的模块中声明全局变量,以供项目中的任何表单访问。 (有些人认为这是不礼貌的行为。)

  4. 在表单之间传递参数。

  5. 引发要以另一种形式处理的事件。

【讨论】:

    【解决方案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
    

    希望它能帮到你,这就是你想要的。

    【讨论】:

      猜你喜欢
      • 2014-12-26
      • 1970-01-01
      • 2016-10-11
      • 1970-01-01
      • 2013-01-14
      • 2015-01-12
      • 2013-09-10
      • 2021-08-15
      • 2018-06-29
      相关资源
      最近更新 更多