Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 为什么我在多行文本框中得到一个无关的回车?_.net_Vb.net_Winforms - Fatal编程技术网

.net 为什么我在多行文本框中得到一个无关的回车?

.net 为什么我在多行文本框中得到一个无关的回车?,.net,vb.net,winforms,.net,Vb.net,Winforms,我在Winforms应用程序中遇到了一个奇怪的错误,它有一个多行文本框。当我更改文本框的文本时,我得到了一个额外的换行符。此换行符的位置各不相同。例如,如果我这样做: someTextBox.Clear() someTextBox.Text = someOtherObject.SomeTextProperty 然后我在课文的末尾得到额外的换行符。但是,如果我不首先调用clear,对SomeTextProperty使用相同的值,我会在开始时得到换行符。但是,如果我只使用像“test”这样的测试字

我在Winforms应用程序中遇到了一个奇怪的错误,它有一个多行文本框。当我更改文本框的文本时,我得到了一个额外的换行符。此换行符的位置各不相同。例如,如果我这样做:

someTextBox.Clear()
someTextBox.Text = someOtherObject.SomeTextProperty
然后我在课文的末尾得到额外的换行符。但是,如果我不首先调用clear,对SomeTextProperty使用相同的值,我会在开始时得到换行符。但是,如果我只使用像“test”这样的测试字符串,那么不管我是否首先调用Clear(),我都会在文本的开头得到换行符。如果使用AppendText(),则在所有情况下都会在末尾插入换行符

有谁能解释这些无关的换行符/回车符来自何处,以及它们的位置有时会发生变化的原因吗?

请使用
.Lines()
属性,而不是
.Text
。(请参阅文档。)

您不需要使用
。清除
;相反,只需确保所传递的数组不包含任何不需要的空字符串,因为这些字符串将转换为空行

一些示例代码:

'Set lines
Dim myLines As String() = {"Hello.", _
                         "My name is Inigo Montoya.", _
                         "", _
                         "You killed my father.", _
                         "Prepare to die."}
someTextBox.Lines = myLines

'Get lines
MsgBox(Join(someTextBox.Lines, vbCrLf))
我已经成功地测试了以上各项。如果仍然存在问题,请将代码张贴在设置值的位置(使用
someOtherObject.SomeTextProperty
)或读取值的位置,因为问题可能存在。

使用
.Lines()
属性,而不是
.Text
。(请参阅文档。)

您不需要使用
。清除
;相反,只需确保所传递的数组不包含任何不需要的空字符串,因为这些字符串将转换为空行

一些示例代码:

'Set lines
Dim myLines As String() = {"Hello.", _
                         "My name is Inigo Montoya.", _
                         "", _
                         "You killed my father.", _
                         "Prepare to die."}
someTextBox.Lines = myLines

'Get lines
MsgBox(Join(someTextBox.Lines, vbCrLf))
我已经成功地测试了以上各项。如果仍然存在问题,请将代码张贴在设置值的位置(使用
someOtherObject.SomeTextProperty
)或读取值的位置,因为问题可能存在。

使用
.Lines()
属性,而不是
.Text
。(请参阅文档。)

您不需要使用
。清除
;相反,只需确保所传递的数组不包含任何不需要的空字符串,因为这些字符串将转换为空行

一些示例代码:

'Set lines
Dim myLines As String() = {"Hello.", _
                         "My name is Inigo Montoya.", _
                         "", _
                         "You killed my father.", _
                         "Prepare to die."}
someTextBox.Lines = myLines

'Get lines
MsgBox(Join(someTextBox.Lines, vbCrLf))
我已经成功地测试了以上各项。如果仍然存在问题,请将代码张贴在设置值的位置(使用
someOtherObject.SomeTextProperty
)或读取值的位置,因为问题可能存在。

使用
.Lines()
属性,而不是
.Text
。(请参阅文档。)

您不需要使用
。清除
;相反,只需确保所传递的数组不包含任何不需要的空字符串,因为这些字符串将转换为空行

一些示例代码:

'Set lines
Dim myLines As String() = {"Hello.", _
                         "My name is Inigo Montoya.", _
                         "", _
                         "You killed my father.", _
                         "Prepare to die."}
someTextBox.Lines = myLines

'Get lines
MsgBox(Join(someTextBox.Lines, vbCrLf))
我已经成功地测试了以上各项。如果仍然存在问题,请将代码张贴在设置值的位置(使用
someOtherObject.SomeTextProperty
)或读取值的位置,因为问题可能就在那里。

我找到了答案。这也许是我没有充分解释情况的过错。但我在文本框内按enter键时触发了一个事件,并将文本框的AcceptsReturn属性设置为false。我原以为事件会在盒子里没有回车的情况下触发,因此我对回车感到困惑。但是根据,如果表单没有默认的OK按钮,您仍然会得到回车符,除非您在事件处理程序中设置e.SuppressKeyPress。这样做可以防止出现额外的回车。但是,我仍然不明白为什么在设置
textbox.Lines=newstring(){“TEST”}
之后,回车符仍然存在。这对我来说似乎是一个错误

编辑:正如Josh在评论中指出的那样,回车很可能是在事件处理完毕后插入的,文本框中的文本已经更新。

我找到了答案。这也许是我没有充分解释情况的过错。但我在文本框内按enter键时触发了一个事件,并将文本框的AcceptsReturn属性设置为false。我原以为事件会在盒子里没有回车的情况下触发,因此我对回车感到困惑。但是根据,如果表单没有默认的OK按钮,您仍然会得到回车符,除非您在事件处理程序中设置e.SuppressKeyPress。这样做可以防止出现额外的回车。但是,我仍然不明白为什么在设置
textbox.Lines=newstring(){“TEST”}
之后,回车符仍然存在。这对我来说似乎是一个错误

编辑:正如Josh在评论中指出的那样,回车很可能是在事件处理完毕后插入的,文本框中的文本已经更新。

我找到了答案。这也许是我没有充分解释情况的过错。但我在文本框内按enter键时触发了一个事件,并将文本框的AcceptsReturn属性设置为false。我原以为事件会在盒子里没有回车的情况下触发,因此我对回车感到困惑。但是根据,如果表单没有默认的OK按钮,您仍然会得到回车符,除非您在事件处理程序中设置e.SuppressKeyPress。这样做可以防止出现额外的回车。但是,我仍然不明白为什么在设置
textbox.Lines=newstring(){“TEST”}
之后,回车符仍然存在。这对我来说似乎是一个错误

编辑:正如Josh在评论中指出的那样,回车很可能是在事件处理完毕后插入的,文本框中的文本已经更新。

我找到了答案。这也许是我没有充分解释情况的过错。但我在文本框内按enter键时触发了一个事件,并将文本框的AcceptsReturn属性设置为false。我原以为这件事会在没有卡里亚的情况下触发