簡體   English   中英

目標僅更新一次

[英]Target is Only Updating Once

我的主窗體有選項卡(一個TabControl),目標控件(一個TextBox)在第三個選項卡中。 在第一個選項卡上,我有幾個在其中輸入數據的TextBox控件。 我的代碼解析輸入的數據並確定最大值,並將其存儲在綁定到目標TextBox的屬性中。

textBox_Offset_ODR_MaxDepth.DataBindings
                           .Add("Text", kernel.Targets, Targets.MaxDepthName);

運行程序時,我在第一個選項卡上添加數據,在第三個選項卡上查看,然后查看TextBox是否已正確更新。 它正確顯示最大值。 因此,我回到第一個選項卡,更改數據,然后再次查看我的第三個選項卡。 該值尚未更新。

我可以從在計算中使用source屬性的其他控件中看到,source屬性確實已更新,但是該更新尚未推送到目標TextBox。

當source屬性更改時,如何使TextBox始終更新?

我將給出解決方法,以期希望對其他人有所幫助,但是如果有人能夠識別出我的問題並告訴我我做錯了那會更好。 我已經搜尋了幾個小時。

我添加了一個“刷新”按鈕,並為其提供了以下代碼:

private void button_Offset_ODR_Refresh_Click(object sender, EventArgs e)
{
    textBox_Offset_ODR_MaxDepth.DataBindings[0].ControlUpdateMode = ControlUpdateMode.Never;
    textBox_Offset_ODR_MaxDepth.DataBindings[0].ControlUpdateMode = ControlUpdateMode.OnPropertyChanged;
}

在某些時候(出於某種奇怪的原因)我注釋掉了我對INotifyPropertyChanged接口的聲明。

class Targets// : INotifyPropertyChanged

我的課程實現了該接口,但頂部的聲明已被注釋掉。 由於某些原因,這使得目標控件只能更新一次。 當我刪除評論時

class Targets : INotifyPropertyChanged

運行良好,並適當地更新了目標控件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM