繁体   English   中英

如何从原始Form1调用New Form1中的Sub / Function?

How to call Sub/Function in New Form1 from Orginal Form1?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

更新:
Frm1A as new Form from Form1

我只想在Form1使用MainCal_Click来订购所有新表单以使用每个表单的Sub Cal

Class Form1

  Dim Data as integer

  Sub Cal(byval x as integer)
     Data = Data + x
  End Sub

  Private Sub LoadOthForm_Click() 'Every time to create new Form when Click 
    Dim Frm1A as New Form1
    Frm1A.text = "Form1"..."Form2"... 'May 100+ Form  
    Frm1A.Show       
  End Sub

  Private Sub MainCal_Click() 'When click, it will order all new open form run Sub Cal()
    Data = 100
    For each frm as Form in Application.OpenForm
      if frm.Text = "From1" then
          frm.Cal(5) .......**** 'What code that new From can use Sub Cal ()? ****
      End if
      if frm.Text = "From2" then
          frm.Cal(15)
      End if
    Next
  End Sub

End Class
2 个回复

我碰巧在Form3上,但是它和Form1一样。 您需要引用所创建的新表单,以便在其上调用方法。 我在类级别制作了表单变量,因此可以在LoadOthForm_Click和MainCal_Click方法中使用它们。 您已经为新表单实例指定了Name属性,因此无法通过这种方式找到它们。 您需要为每个表单设置Data属性,因为每个表单都有自己的Data属性。 它是一个类级别字段,而不是全局字段。 它添加了一个标签来显示Cal方法的结果,以证明表单正在运行该方法。

Public Class Form3
    Dim Data As Integer
    Dim Frm1A As Form3
    Dim Frm1B As Form3
    Dim Frm1C As Form3
    Sub Cal(ByVal x As Integer)
        Data = Data + x
        Label1.Text = Data.ToString
    End Sub

    Private Sub MainCal_Click(sender As Object, e As EventArgs) Handles MainCal.Click
        Frm1A.Data = 100
        Frm1B.Data = 100
        Frm1A.Cal(5)
        Frm1B.Cal(15)
    End Sub

    Private Sub LoadOthForm_Click(sender As Object, e As EventArgs) Handles LoadOthForm.Click
        Frm1A = New Form3()
        Frm1B = New Form3()
        Frm1C = New Form3()
        Frm1A.Show()
        Frm1B.Show()
        Frm1C.Show()
    End Sub
End Class

这怎么样?

Class Form1

    Private Data As Integer

    Sub Cal(ByVal x As Integer)
        Data = Data + x
        MsgBox(String.Format("{0}:{1}", Me.Text, Data.ToString))
    End Sub

    Private Sub LoadOthForm_Click(sender As Object, e As EventArgs) Handles LoadOthForm.Click
        For i = 1 To 10
            Dim f As New Form1
            f.Text = "FormA" + i.ToString
            f.Show()
        Next
    End Sub

    Private Sub MainCal_Click(sender As Object, e As EventArgs) Handles MainCal.Click
        Data = 100
        For Each frm As Form In Application.OpenForms
            If frm.Text = "FormA1" Then
                CType(frm, Form1).Cal(5)
            End If
            If frm.Text = "FormA2" Then
                CType(frm, Form1).Cal(15)
            End If
        Next
    End Sub

End Class
3 我如何从Form2调用参数为Form1的方法并在Form1的图表上绘图

我有一个form1和form2,在form1中,有一张图表,当我使用按钮调用在form1中定义的方法时,会绘制点,现在在form2中,当我通过将两个参数传递给form1的方法来调用form1的方法时,在form1的图表中显示点,说参数是温度和湿度。 我希望有办法做到这一点,但我不知道,任何帮助 ...

4 C#从Form1中的函数访问Form1元素

我正在尝试为项目创建C#应用程序。 由于我没有C#的经验,因此我很难理解如何引用Form元素。 我需要从函数更改richTextBox1内容,并从DataReceivedHandler引用它。 这是代码: 我想做的就是在DataReceivedHandler中简单地调用addRic ...

8 如何在 Form1 中调用 Form2

我正在做一个有 7 个表格的商店,表格 1 是商店的基础,带有图片框和一个说明我应该支付多少钱的文本框。 当我点击图片的框时,例如在 T 恤上,它会打开一个包含一些信息的新表单和一个按钮,上面写着“添加到购物车”。 基本上我想单击“添加到购物车”按钮,然后 Form2 关闭并返回到表单 1,并且在文 ...

2017-10-02 13:12:41 1 42   c#
9 如何从Form2调用标签到Form1 C#

我在form2中有form1一个文本框和一个按钮(检查目的)我有label1(名称为“ Example”) 检查按钮中的代码 ...

2016-07-18 13:05:11 1 196   c#
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM