2016-08-04 118 views
-1

這是一個簡單但很奇怪的問題。我有一個應用程序使用設置來創建一個字符串,然後將其放入一個富文本框中。聽起來很簡單吧?但由於一些奇怪的原因,我得到了額外的換行符。簡單的例子:vb.net中的奇怪字符串問題

如果我這樣做:

head = "Some text :" + " some other text" 
richtextbox.AppendText(head) 

輸出

Some text : some other text" 

如你所願。但如果應用程序將執行以下操作:

my.settings.variable1 = " some other text" 
head = "Some text :" + my.settings.variable1 
richtextbox.AppendText(head) 

輸出

Some text : 
some other text" 

即帶有換行符我從來沒有規定。這不是一個單詞包裝或標籤問題,因爲我已經嘗試了太陽下的每種變體以消除這些可能性。有任何想法嗎?

****編輯********

我已經縮小的原因,但仍然沒有什麼意義。原因是我用來提供部分字符串的設置。我的應用程序中的實際代碼是:

head = "Your Server : " + My.Settings.Server + "....Bill#" + My.Settings.BinNo 

它以某種方式在my.settings.server之後放置換行符。但是,如果我有完全相同的行,但將代碼更改爲:

head = "Your Server : " + My.Settings.BinNo + "....Bill#" + My.Settings.BinNo 

我不再看到問題。奇怪,但進步。仍然無法弄清楚爲什麼。兩者都是字符串變量,兩者都是相同的長度....

+1

我剛剛嘗試過你所描述的東西,我沒有看到虛假的換行符,正如人們所期望的那樣。如果你用一個'Button'和'RichTextBox'創建一個新項目,並將代碼放到'Click'事件處理程序中,它是否表現得如同它顯然應該那樣? – jmcilhinney

+0

我做了你的建議,果然,這個問題不會發生在一個乾淨的項目中。問題是,我不知道我的項目的其他部分可能會導致這個錯誤,所以我很難排除哈哈。爲了清楚起見,我上面發佈的代碼被簡化了。這是ACTUAL行的樣子: – Rocks

+0

head =「Your Server:」+ My.Settings.Server +「.... Bill#」+ My.Settings.BinNo – Rocks

回答

0

發現問題。這很奇怪,但很簡單。在將模塊分配給服務器設置之前,模塊中已經有一個遞歸的代碼位。這是爲了檢查字符串的長度並將其填充到一定的長度。然而,它出錯了,並在最後添加了一大堆空格,所以最後它不是一個換行符,它使它進入下一行,它是簡單的文字換行和不可見的空格字符,將文本推送到正確的。簡單但煩人的發現。謝謝你們的幫助