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),它確實包含正確的值。 此外,如果我關閉第二個窗體然後重新打開它,它將顯示正確的值。它在我看來,我需要某種「刷新」的文本框的價值?
誰能告訴我我做錯了什麼?提前
泰耶
感謝您的回覆。我試過this.txtBundlesInPalletizer.refresh()。可惜沒有任何成功。 Terje – Terje 2010-06-22 11:32:33
感謝您的回覆。我試過this.txtBundlesInPalletizer.Refresh()和this.txtBundlesInPalletizer.Update()。可惜沒有任何成功。泰耶 – Terje 2010-06-22 11:46:06