文本框无法读取输入中的扫描

时间:2017-06-16 18:22:35

标签: c# wpf textbox newline barcode

我正在开发一个应用程序,它扫描条形码并在C#WPF应用程序的文本框中输入数据。问题是,当我扫描我的信息时,换行符就会消失。我已将相同的输入扫描到记事本和记事本++,它们似乎显示换行符,但它没有出现在文本框中。我甚至使文本框变得多线,但这不起作用。

我认为文本框正在过滤掉我的角色。我有什么方法可以让文本框不这样做吗?

期望输出

the
cow
jumped
over
the
moon

实际输出

thecowjumpedoverthemoon

这就是我的文本框代码

<TextBox x:Name="textbox_txt" TextWrapping="Wrap" AcceptsReturn="True" AcceptsTab="True" Margin="56,138,239.4,66.8" Background="White" AllowDrop="True" />

2 个答案:

答案 0 :(得分:1)

扫描的文本可能使用Unix风格的新行字符\n,而Windows使用\r\n。尝试:

var text = textbox_txt.Text.Replace("\n", "\r\n");

或者:

var text = textbox_txt.Text.Replace("\n", Environment.NewLine);

答案 1 :(得分:0)

您分配给string的{​​{1}}看起来并非TextBox分开。 尝试使用\n

SringBuilder

我刚刚执行了您的示例,在您的用例中,您只需将扫描代码附加到StringBuild sb = new StringBuilder(); sb.AppendLine("the"); sb.AppendLine("cow"); sb.AppendLine("jumped"); sb.AppendLine("over"); sb.AppendLine("the"); sb.AppendLine("moon"); textbox_txt.Text = sb.Tostring();