2010-06-22 47 views
1

該應用程序有兩種形式。主窗體(Form#1)利用線程。其中一個線程用於從TCP/IP套接字讀取參數。一旦某個特定參數的值發生變化,我想在第二個窗體的文本框中顯示這個新值(窗體#2)。使用第二種形式的數據填充表單的文本框

我列出了我認爲是下面代碼的重要部分。

形式#1:

//Resetting the manually adjusted 'gusBundlesPlacedOnPallet' parameter 
if (gusBundlesInRow > 0) 
{ 
    gusBundlesInRow = 0; 
    //Update the 'BundlesOnPallet' display on the 'Manual Page' frmManualMode ManualMode = new frmManualMode();   
    ManualMode.NoOfBundlesInPalletizerDisplay(Convert.ToString(iIncomingMsg[15])); 
}//End-if 

表格2:

//Creating a NoOfBundlesInPalletizer Delegate 
public delegate void NoOfBundlesInPalletizerDisplayDelegate(string sMessage); 
public void NoOfBundlesInPalletizerDisplay(string sMessage) 
{  
    if (txtBundlesInPalletizer.InvokeRequired) 
    { 
     Invoke(newNoOfBundlesInPalletizerDisplayDelegate(NoOfBundlesInPalletizerDisplay), new object[] { sMessage }); 
    }//End-if 
    else 
    { 
     this.txtBundlesInPalletizer.Text = sMessage; 
    }//End else-if 
}//End method NoOfBundlesToPalletizeDisplay 

表格#文本框2將不會顯示新的價值,但如果我插入一個破發點就在我有將新值分配給文本框(sMessage),它確實包含正確的值。 此外,如果我關閉第二個窗體然後重新打開它,它將顯示正確的值。它在我看來,我需要某種「刷新」的文本框的價值?

誰能告訴我我做錯了什麼?提前

泰耶

回答

0

以我的經驗控制元素

感謝總是自動更新。但是你可以嘗試Control.Refresh();

+0

感謝您的回覆。我試過this.txtBundlesInPalletizer.refresh()。可惜沒有任何成功。 Terje – Terje 2010-06-22 11:32:33

+0

感謝您的回覆。我試過this.txtBundlesInPalletizer.Refresh()和this.txtBundlesInPalletizer.Update()。可惜沒有任何成功。泰耶 – Terje 2010-06-22 11:46:06

相關問題