【问题标题】:Run a function from another form vb.net从另一种形式 vb.net 运行函数
【发布时间】:2016-04-25 04:22:09
【问题描述】:

我在 Form1 中有一个带有 Main() 函数的 Module Main()

Public Module Main 
 Public Sub Main()

 End Sub
End Module

我想从 Form2 运行它 执行 Form1.Main() 将不起作用,因为这将在 form2 中查找名为 form1 的类。

那么我该怎么做呢?

【问题讨论】:

  • 这是一个模块,而不是一个表单。你会打电话给Main.Main() 或只是Main()。如果模块嵌套在 Form1 中,您必须调用 Form1.Main.Main()
  • 这个我已经知道了,但是问题是输入Main.Main()或者Main()代码会引用Form2,而form2中没有Main.Main。
  • 我最后的建议怎么样?另外,请添加更多代码。我们在这里看不到全貌。为什么你甚至需要一个表单中的模块??
  • 向您发送了一封电子邮件,提供了更好的解释。我的意思是它在form2中查找main,而我要调用的main在form1中
  • 看起来很奇怪...您确定您在 Form2 中没有名为 Main 的东西吗? (哦,我已经回复了你的邮件)

标签: vb.net forms


【解决方案1】:

我相信我已经找到了您的问题。 Main 似乎是一个保留关键字(或者它至少对 Visual Studio 有其他用途),因此您不能将其用作类或模块名称。

如果您将模块重命名为例如MainModule,您就可以调用:

MainModule.Main()

【讨论】:

  • @Randomizers :没问题!
【解决方案2】:

您还可以使用 Form1 和 Form2 类的结构来定位您希望运行的例程。

public class form1 
public shared sub testsub()
msgbox("hello world")
end sub
end class

public class form2 
public shared sub testsub2()
' this will allow you to call a sub from form1 this also works with variables, functions, ect
form1.testsub()
end sub
end class

【讨论】:

    猜你喜欢
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-06
    相关资源
    最近更新 更多