Forms 在一个窗体中单击按钮在另一个窗体中执行操作

Forms 在一个窗体中单击按钮在另一个窗体中执行操作,forms,events,multiple-forms,Forms,Events,Multiple Forms,如何使一种形式的事件在另一种形式中执行。我有一个表单(新井表单),有两个文本框、一个组合框和一个按钮。每当主窗体(Stage Tally main)上需要新的进度条时,就会调用此函数。每当我填写新油井的信息并按下按钮时,我希望Stage tally Main添加一个进度条,其中包含文本框和组合框中的信息。我怎样才能在新井窗体上创建一个按钮,在舞台理货主界面上添加一个进度条?其实很简单。如果您想在表单2上执行一系列代码,那么您可以在表单1上放置:Public Sub some_code()。在Fo

如何使一种形式的事件在另一种形式中执行。我有一个表单(新井表单),有两个文本框、一个组合框和一个按钮。每当主窗体(Stage Tally main)上需要新的进度条时,就会调用此函数。每当我填写新油井的信息并按下按钮时,我希望Stage tally Main添加一个进度条,其中包含文本框和组合框中的信息。我怎样才能在新井窗体上创建一个按钮,在舞台理货主界面上添加一个进度条?

其实很简单。如果您想在表单2上执行一系列代码,那么您可以在表单1上放置:Public Sub some_code()。在Form2中,单击按钮,或form load,或任何你可以说的form.some_code()并调用一系列代码。我将在这里创建一个更好的示例:

请注意,只有在下面的代码中,新的井表格由一个菜单项加载,并且在down上是一个名为go_Progess_bar()的公共子项。代码描述了在某个位置创建一个进度条,诸如此类。基本上,我希望在此表单上以另一种形式执行的所有代码都可以用一个简单的:public sub some_name()初始化

公开课表格1

Private Sub NewWellToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles NewWellToolStripMenuItem.Click

    Dim NewWell As New NewWellForm()
    NewWell.ShowDialog()

End Sub

Public Sub go_Progress_Bar()
    Dim ctrl As Control
    Dim i As Integer = 0
    For Each ctrl In Controls
        If TypeOf ctrl Is ProgressBar Then
            i = i + 1
        End If
    Next

    Dim NumProgressBar As String = Convert.ToString(i)

    Dim pBar As New ProgressBar()

    pBar.Location = New System.Drawing.Point(20, 50 * (2 * i + 1))

    pBar.Name = "progressBar" + NumProgressBar

    pBar.Width = 1200

    pBar.Height = 30

    Dim CrewAndWell As New Label

    CrewAndWell.Name = CrewSelection + WellSelection

    CrewAndWell.Location = New System.Drawing.Point(20, 50 * (2 * i + 1) - 20)

    CrewAndWell.Width = 100

    CrewAndWell.Height = 20

    CrewAndWell.Text = CrewSelection + ": " + WellSelection

    Controls.Add(CrewAndWell)

    Controls.Add(pBar)
End Sub
新的井表代码如下,代表表2。忽略除按钮单击事件之外的所有其他事件。单击按钮时,go_Progress_Bar由form1调用。go_Progress_Bar()并在form1上执行代码。一个穴居人能做到这一点很简单

公共类NewWellForm

Private Sub NewWellForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    ComboBox1.Items.AddRange(CrewList.ToArray())
End Sub
Private Sub AddWell_Click(sender As Object, e As EventArgs) Handles AddWell.Click
    CrewSelection = ComboBox1.SelectedItem
    WellSelection = WellNameText.Text
    Form1.go_Progress_Bar()
    Close()
End Sub
末级