Vb.net WinForms绑定

Vb.net WinForms绑定,vb.net,winforms,binding,Vb.net,Winforms,Binding,我有一些绑定到BindingSource控件的控件 我想在一个控件中的值更改时进行计算,并在另一个控件上设置结果 我是更新属性绑定到的文本框,还是更新无论如何都会更新控件的基础实体(我希望如此) 当我更改组合框A(OnPropertyChange)时,文本框B将用新的计算结果更新。这很好,但我注意到,当我离开combobox A时,它会恢复到其原始值。这是怎么回事 Private Sub ComboBoxEditCostCode_EditValueChanged(ByVal sender As

我有一些绑定到BindingSource控件的控件

我想在一个控件中的值更改时进行计算,并在另一个控件上设置结果

我是更新属性绑定到的文本框,还是更新无论如何都会更新控件的基础实体(我希望如此)

当我更改组合框A(OnPropertyChange)时,文本框B将用新的计算结果更新。这很好,但我注意到,当我离开combobox A时,它会恢复到其原始值。这是怎么回事

Private Sub ComboBoxEditCostCode_EditValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBoxEditCostCode.EditValueChanged
    Select Case ComboBoxEditCostCode.EditValue
        Case "7" 
            CType(TransactionEntityBindingSource.Current, TblTransactionsEntity).Qbdescription = "7-is here" 

        Case "2" 
            CType(TransactionEntityBindingSource.Current, TblTransactionsEntity).Qbdescription = "2-is here" 

        Case Else
            CType(TransactionEntityBindingSource.Current, TblTransactionsEntity).Qbdescription = "7-is here"
    End Select
End Sub

详细说明您的更改,第二个文本框的绑定方式?
您必须更改初始数据,而不是更改文本框b值。
另外,当文本框A失去焦点时,会引发EndEdit事件,我认为绑定机制会刷新文本框B中的值。

当您将绑定设置为文本框时,您可以控制对哪些操作进行编辑。

如果我们将控件绑定到源,那么如果源发生更改,我们可以使its值自动反映在控件中。关于您所面临的问题,最好显示代码片段。

根据经验,如果您使用的是绑定源,那么您总是通过它对数据进行CRUD。完成后别忘了调用BindingSource.EndEdit,希望这有帮助

文本框A的
OnChanged
事件中是否有代码进行计算,然后设置B的
Text
属性?正确..这正是我正在做的!我有一个具有许多属性的Entit(实际上是一个llblgen实体)。属性A绑定到TextBoxA,属性B绑定到TextBoxB。我已使用属性编辑器绑定控件…如何控制操作编辑。。。提前感谢根据您之前的回答,您正在textboxA_OnChanged事件中将值设置为textboxB,但您必须更改属性B,并且不要触摸textboxB值。并通过在BindingSource中获取当前项并将其强制转换为数据源的类型来更改您拥有的属性。按您的要求完成ie CType(BindingSource.current,TBLTTransactionSentity)。B=TextBoxA.Text&“Hello”。。同样的情况也会发生(在控件失去焦点之前这是正确的事情)……只有当控件失去焦点时,问题才会出现。现在,您必须使用RaiseListChangedEvents。此外,您还必须了解如何将绑定添加到文本框,如果您能共享这部分代码,那就太好了。如果您使用的是类似于textBox.DataBindings.Add(“Text”,bindingSounrce,“DataMember”),还有一个方法。Add()可以指定绑定何时完成(编辑后)而且,在更改textBoxA和textBoxB中的值之前,必须暂停绑定