[英]Textbox values not changing on BindingContext Changed event
當前,要更改單擊下一步按鈕形式在文本字段中顯示的記錄,我正在使用以下代碼以編程方式將下一記錄的值分配給相關文本框:
int CurrentRowIndex = this.BindingContext[DS1, "Table1"].Position;
int NextRoecordIndex = CurrentRowIndex + 1;
然后,我在數據集中的文本框中使用NextRecordIndex ot填充值。 我希望在單擊“下一步”按鈕后執行以下代碼,則下一條記錄應自動填充。
this.BindingContext[DS1, "Table"].Position -= 1;
您在聽BindingContextChanged事件嗎? 也許您需要向文本框的BindingContextChanged事件添加事件委托,或在其派生類中重寫。
您需要實現事件處理程序。 為此,創建成員函數,每次事件在文本控件中發生時都將調用該成員函數。 要收聽此事件,請將您創建的成員函數附加(注冊)到文本框的事件委托。 現在,每次文本框觸發其BindingContextchanged事件時,都將調用附加到其委托的所有函數。
創建每次事件發生時要調用的函數。
private void AssignNextRecordIndex_OnBindingContextChanged(object sender, EventArgs e)
{
// do ur task on bindingcontext changed
}
添加或注冊以收聽事件:
MyTextBox.BindingContextChanged += AssignNextRecordIndex_OnBindingContextChanged;
而已。
要分離或停止收聽此事件(如有必要),請使用:
MyTextBox.BindingContextChanged -= AssignNextRecordIndex_OnBindingContextChanged;
您可以根據需要為事件添加盡可能多的功能。
您還可以在MSDN上找到有關此特殊事件的信息: Control.BindingContextChanged事件
以及.NET 事件(C#編程指南)中有關事件的一些基礎知識
如果您創建了自己的自定義TextBox控件,例如:
class MyCustomTextBox : TextBox
{...}
您可以改寫繼承的OnBindingContextChanged方法(不要忘記調用基本方法):
protected override void OnBindingContextChanged(EventArgs e)
{
base.OnBindingContextChanged(e);
// do your stuff
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.