2009-05-31 69 views
0

簡化 我有一個文本框和一個按鈕 該按鈕只是使用文本框中的文本創建一個消息框。 但我更改文本框的值,新值apears(例如:類型123)但消息框不顯示值。更改文本框中的值問題

如果我嘗試使用編程中的值(通過textbox1.text獲取值),該變量沒有任何東西(textbox1.text =「」),但我仍然可以看到我在表單中鍵入的內容。

任何人有任何線索?

+0

你能顯示一些代碼嗎? – 2009-05-31 15:27:48

+0

你確定你有正確的文本框嗎?有時候textbox1和textbox11看起來是一樣的(插入有關正確命名的嘮叨) – Crash893 2009-06-01 01:02:55

回答

0

感謝Eric和Crippledsmurf。正如你們所說的,沒有代碼就很難提供幫助。 我發現的問題是,當調用窗體時,我通過引用發送了一些對象,所以我可以跟蹤它們,發現當(不要問我爲什麼發生這種情況時,我仍在處理它)該construtor被稱爲他做了一個新的組件,所以接口中的組件不再代表變量「textbox1」指向的組件(是的,Crash893,我沒有拼錯這個名字)。

我發現我弄得一些混亂的引用,並可能是導致這個問題。我通過更改代表和事件引用所執行的操作來解決問題,但我無法追查問題的確切來源。

再次感謝大家的見解。

0

你的按鈕的單擊事件處理程序應該是這個樣子

private void button_Click(object sender, EventArgs e) 
{ 
MessageBox.Show(textBox.Text); 
} 

我懷疑你已經有了類似這樣那樣的代碼,在某些時候文本框被清除或以其他方式設置爲String.Emppty但沒有看到實際代碼難以幫到您

0

您何時/在哪裏檢查了textBox1.Text的值?如果您在構造函數Form1_Load中檢查它,或者在之前發生的其他任何事情您將輸入文本,您將獲得一個空值。

要正確檢查textBox1.Text的值,應該在調用MessageBox.Show(textBox1.Text)的行上設置所謂的斷點。爲此,請單擊包含MessageBox.Show(..)的行上源代碼編輯器的灰色區域(位於最左側)。一個紅色的圓圈將出現,你的代碼應該被突出顯示。當你運行你的應用程序並點擊你的按鈕時,你的應用程序應該暫停,並且Visual Studio將突出顯示該行,並且從這裏你可以將鼠標懸停在MessageBox.Show()行的「textBox1.Text」中,它應該顯示當前值。

如果您的應用程序與表單,文本框和button1_Clicked事件處理代碼一樣簡單,這應該沒有問題。如果不是這麼簡單,那麼您需要查找代碼中設置textBox值的任何內容,並確保它沒有通過使用斷點傳遞任何空白值。

爲了解決這個問題,雖然我們確實需要更多的信息。