我有一个表单(CarForm),它是在调用函数时动态生成的(CarBenefitFrm),它包含一个复选框,单击该复选框将启用文本框(HireBox)。我已将此处理程序与此文本框关联,以便每次文本更改时,都应将文本保存在变量(结果)中,然后返回该结果,此代码包含在名为HireInput的Sub中。但是,我不能将函数的return语句放在sub中。
下面我附上了表格的图片
如何返回变量" result"给来电者?
我知道如何将代码与处理程序关联的唯一方法是将其包含在sub中。我已经阅读了有关代表的内容,但我不知道如何在此处申请。
我会感谢我能得到的任何帮助,也是代表们如何工作的简单解释。
Module CarBnft
Public Function CarBenefitFrm() As Decimal
Dim result As Decimal
Dim CarForm As New Form
'CODE FOR GENERATING BUTTONS, CHECKBOXES, TEXTBOXES GOES HERE
Dim HireInput = Sub()
If (IsNumeric(HireBox.Text) = False) And (String.IsNullOrWhiteSpace(HireBox.Text) = False) Then
HireBox.Clear()
MsgBox("Please enter a number in this field", MsgBoxStyle.Information, "Error")
ElseIf (IsNumeric(HireBox.Text) = True) And (String.IsNullOrWhiteSpace(HireBox.Text) = False) Then
Decimal.Parse(HireBox.Text, Globalization.NumberStyles.AllowDecimalPoint)
result = HireBox.Text
return result 'not working because return
' statement is within the
' HireInput Sub
End If
End Sub
AddHandler HireBox.TextChanged, HireInput 'only know how to add code for a handler using a sub
End Function
End Module
答案 0 :(得分:0)
很抱歉回复很晚。我终于设法得到了我想要的结果。我做的是我在设计时制作了表单(Car Form),然后添加了一个处理程序,这样每当我按下Accept按钮时,结果都会保存在我在模块中创建的公共变量中,这样就可以了在表格中访问。
然后我在调用表单中为Accept按钮添加了另一个处理程序,以便它接收现在存储在Public变量中的结果。
感谢@djv让我了解使用Property以及@Plutonix建议我设计表单。