2012-01-17 23 views
0

在帶有vanilla文本框的窗體中multiline == false發生預期結果 將Text屬性設置爲「」 ,或者string.Empty,或者調用Clear()。但是,一旦 ShowDialog()已在窗體上調用,則會出現下面列出的行爲。還要注意,奇怪的效果是相當直接的。如果定義並使用了Load事件處理函數,則一旦調用該函數(以響應ShowDialog()被調用),下面顯示的原因不明行爲就爲true。在Clear()或簡單設置爲string.Empty時出現意外的行爲,在ShowDialog()調用後

textBox.Text = "fillWithSomething"; 

調試器顯示文本是: 「fillWithSomething」

textBox.Text = ""; 

調試器顯示的文本是:與textBox.Text.Length == 2

textBox.Text = "fillWithNew"; 

調試器顯示了兩個不可打印的字符文本爲:「fillWithNew」

textBox.Clear(); 

調試器再次顯示文字是兩個不可打印的字符與長度== 2

這是一個較大的表格客戶機應用程序的所有部分。我嘗試一個簡單的測試 (均爲3.5 & 4 .Net框架)和同樣的行爲。

任何建議,什麼可能破壞什麼,似乎應該是一個真正 直盼着操作?在其他地方我找不到這種類型的問題。

+0

我可能是錯在這裏,但'.Length'不是一個TextBox的屬性。 http://msdn.microsoft.com/en-us/library/system.windows.forms.textbox.aspx你確定它不是一個擴展方法或什麼? – Brandon 2012-01-17 22:22:02

+0

將textBox.Text.ToCharArray()放入調試器表達式中,並告訴我們您看到了什麼。 – 2012-01-17 22:23:45

+0

什麼意思長度? – pistipanko 2012-01-17 22:32:33

回答

0

我只是放棄了窗體上的文本框,和我沒有看到你所看到的行爲。 ="".Clear()都將其設置爲長度爲0的空字符串。必須有其他干擾。

+0

我也一樣,用相同的中性結果....希望的故障圖案以上可能對某人而言很熟悉。奇怪的是,非空白,非空字符串的背靠背分配似乎工作正常。 – tsellman 2012-01-18 14:10:11

相關問題