如何获取所有打开的表单在VB.NET中的每个表单下调用具有相同名称的Sub

时间:2018-01-10 00:44:03

标签: vb.net forms

我有一个具有多种形式的应用程序(frm1,frm2 ......)。在每个表单下都有一个子方法:sub1。是否可以在模块中创建一个方法来获取所有打开的表单然后运行frm1.sub1,frm2.sub1 ...? 我已经知道My.Application.OpenForms可以找到所有打开的表单。但是如何将其用于下一步呢?由于有很多形式我不能一个一个地命名这个形式。 '$'

        Dim frm As Form

        For Each frm In My.Application.OpenForms

            If frm Is My.Forms.TheFormINeed Then
              'do something
            end if

这可能听起来像新手。请帮帮我。

1 个答案:

答案 0 :(得分:0)

如果您要运行的所有潜艇都存在于所有表格中,那么

For Each frm In My.Application.OpenForms
    CallByName(frm, "sub1", CallType.Method, Nothing)
Next

应该这样做。

请记住,您的主要表单可能没有sub,因此您可以使用If..Then等来包含或排除特定形式的课程。

您可以通过设置.Name属性

来命名表单