簡體   English   中英

為什么這個文本框不會更新它的值? C#

[英]Why won't this textbox update its value? c#

當我調用這個函數時,我試圖讓一些文本框更新它們的值。 我不能讓他們更新他們的值,但如果我在下面用我發送給他們的相同變量調用一個消息框,他們會更新他們的價值觀。

我不知道造成這種情況的原因。 有任何想法嗎?

private void updateCurrentCharacterInfoLabels()
    {
        ProgressBox.set(Crafter.MyCurrentInfo.CurrentProgress);
        MessageBox.Show(Crafter.MyCurrentInfo.CurrentProgress.ToString());
        ProgressBox.Invalidate();
        QualityBox.set(Crafter.MyCurrentInfo.CurrentQuality);
        MessageBox.Show(Crafter.MyCurrentInfo.CurrentQuality.ToString());
        QualityBox.Invalidate();
        DurabilityBox.set(Crafter.MyCurrentInfo.CurrentDurability);
        MessageBox.Show(Crafter.MyCurrentInfo.CurrentDurability.ToString());
        DurabilityBox.Invalidate();

當我注釋掉MessageBox.Show()部分時,表單根本不更新文本框值。 當我保留它們時,它會完美地更新。 任何幫助贊賞。

所以,我能夠通過在每個上面調用.Refresh()來獲取更新的框。 我以為.Invalidate()做到了,但我猜不是。

調用messageBox.Show()必須導致表單刷新本身。 我覺得奇怪的是,表格中的其他內容在整個過程中都在更新,但它從未重新繪制過這些框。 是因為它們是自定義文本框嗎?

暫無
暫無

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

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