vb.net中的奇怪字符串问题

时间:2016-08-04 06:33:15

标签: 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 个答案:

答案 0 :(得分:0)

发现问题。这很奇怪但很简单。在将模块分配给服务器设置之前,模块中先前有一个递归的代码,用于格式化字符串。它的目的是检查弦的长度并将其填充到一定长度。然而它出了差错并在最后添加了一大堆空格,所以最后它不是换行使它进入下一行,它是简单的自动换行和不可见的空格字符将文本推送到正确的。找到既简单又讨厌。感谢帮助人员