[英]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.