【问题标题】:Getting value from another form in VB从 VB 中的另一种形式获取价值
【发布时间】:2013-07-13 19:54:34
【问题描述】:

所以我有这两种形式:Form1 和 Form2。第一个表单有一个带有单选按钮的组框,用于选择一个带有值的宿舍。页面底部是一个按钮,表示继续并转到表格 2。在表格 2 中有另一个按钮,其中有一个带有收音机的组合框,用于选择膳食计划。在页面底部有一个按钮,上面写着计算。单击此按钮时,Form1 应再次显示,并且总成本的文本框将在其中包含宿舍成本和膳食成本的值。它适用于获得餐费,但不适用于宿舍。

有人知道为什么吗?

表格一:

Public Class Form1

Public DormCost As Integer

Private Sub ButtonCalculate_Click(sender As Object, e As EventArgs) Handles ButtonCalculate.Click

    Dim DormCost As Integer

    If RadioAllen.Checked = True Then
        DormCost = 1500
    ElseIf RadioPike.Checked = True Then
        DormCost = 1600
    ElseIf RadioFarthing.Checked = True Then
        DormCost = 1200
    ElseIf RadioUniversity.Checked = True Then
        DormCost = 1800
    End If

    Form2.Show()

End Sub
End Class

表格2:

Public Class Form2

Dim MealCost As Integer
Dim Total As String


Private Sub ButtonCalculate_Click(sender As Object, e As EventArgs) Handles ButtonCalculate.Click


    If Radio7.Checked = True Then
        MealCost = 560
    ElseIf Radio14.Checked = True Then
        MealCost = 1095
    ElseIf RadioUnlimited.Checked = True Then
        MealCost = 1500
    End If

    Me.Close()

    Total = Convert.ToString(Form1.DormCost + MealCost)
    Form1.TextBox1.Text = "$" + Total


End Sub
End Class

【问题讨论】:

    标签: vb.net winforms events radio-button


    【解决方案1】:

    这是另一种选择:

    DormCost 设为 form1 的本地并将其命名为 myDormCost 并将其设为对 Form2 的公共 那么当你打电话时

    form2.show
    

    在那之前

    form2.DormCost = myDormCost
    

    应该可以。

    【讨论】:

      【解决方案2】:

      您可以创建一个全局变量类,它可以在整个程序中使用。

      Public Class GlobalVariables

      Public Shared yourvariable As yourtype
      

      End Class

      把这个类放在你的一个表单的底部,你可以在程序的任何地方调用变量表单。 GlobalVariables.yourvariable

      【讨论】:

      • 虽然这可以解决这个确切的问题,但这样做通常是个坏主意。它在表单之间创建了隐藏的依赖关系,并且难以跟踪对象之间的交互。鉴于表单只是对象,最好的方法是添加属性或方法并使用引用调用它们。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-19
      • 1970-01-01
      • 1970-01-01
      • 2012-12-05
      相关资源
      最近更新 更多