VB
Microsoft 开发的一种面向对象的编程语言,其在 .NET Framework 上实现。 以前称为 Visual Basic .NET。
78 个问题
我目前有一个类对象,如下所示。我在绑定列表中有这个集合,并且使用绑定源将其绑定到文本框控件。我有两个文本框,一个用于将默认值显示为只读,另一个用于输入数量值的文本框。如果没有手动输入的数量,则将使用默认数量计算成本。
我想知道是否可以只有一个属性并在一个文本框或标签中显示其默认属性,并从另一个文本框中获取值?如果清除了手动字段,那么它应该使用默认值再次计算吗?无论如何要绑定还是简化?
Public Class Test
Private QuantityValue as Integer = 1
Public Property Quantity() as Integer
Get
Return QuantityValue
End Get
Set(ByVal Value As Integer)
QuantityValue = Value
End Set
End property
Public Property UserQuantity() as Integer
Get
Return UserQuantityValue
End Get
Set(ByVal Value As Integer)
UserQuantityValue = Value
End Set
End property
Public Readonly Property Cost() as Double
Get
if UserQuantity>0 then
Return UserQuantity*Price
Else
Return Quantity*price
End if
End Get
End property
End Class
Note:此问题总结整理于: Showing object property value and its default value in two textboxes with binding?
如果没有手动输入的数量,则将使用默认数量计算成本。
我根据你的描述做了一个测试,你可以参考下面的代码。
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
TextBox2.DataBindings.Clear()
Dim testLst As BindingList(Of Test) = New BindingList(Of Test)()
Dim result As Integer
If Integer.TryParse(TextBox1.Text, result) Then
testLst.Add(New Test() With {
.Quantity = result
})
Else
testLst.Add(New Test())
End If
TextBox2.DataBindings.Add("Text", testLst(0), "Quantity")
End Sub
End Class
Public Class Test
Private QuantityValue As Integer = 1
Public Property Quantity() As Integer
Get
Return QuantityValue
End Get
Set(ByVal Value As Integer)
QuantityValue = Value
End Set
End Property
End Class
我的测试结果。
如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。
注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。