如何在文本框中使用多行

时间:2011-04-19 09:06:59

标签: c# visual-studio-2010

我有一个计算器,想在我的文本框中准确输入3行。第一行将是数字A,第二行将是第二行。现在我只使用一行代表我的应用程序。有人可以告诉我该怎么做吗?而且我还需要知道如何清除第一行以及如何添加新文本以便在不改变其他行的情况下进行第二行。

4 个答案:

答案 0 :(得分:2)

我会在彼此之上使用3个文本框来执行此操作。通过这种方式,您可以轻松清除要清除的特定行。

当然,您执行此操作的确切方式取决于您使用的是Silverlight,WPF,Windows窗体还是Asp.net。

但是对于Silverlight或WPF,你会做这样的事情:

<StackPanel>
    <TextBox x:Name="Number1" BorderThickness="0" />
    <TextBox x:Name="Operator" BorderThickness="0" />
    <TextBox x:Name="Number2" BorderThickness="0" />
</StackPanel>

将BorderThickness设置为0可以有效地从文本框中删除边框。您还可以将FontSize设置为更大的字体,并为典型的计算器样式设置Horizo​​ntalAlinment =“Right”。

然后你需要一个事件处理程序(我正在假设你希望这个在这里工作),它将响应回车键,以便焦点移动到下一个文本框。

答案 1 :(得分:0)

开箱即用,您可以通过将多行设置为true来设置多行文本框,但不能将文本框设置为三行。如果您想要一个包含三行的文本框,我想您需要自己开发自定义控件。

答案 2 :(得分:0)

这听起来不像是一个用户友好的界面。你正试图在GUI的世界中重新发明轮子,但这样做绝不是一个好主意。你为什么不只使用三个文本框,每个输入一个?

在技术方面,为了创建多行文本框,您必须将其MultiLine属性设置为true。然后,您可以使用Environment.NewLine

将文本拆分为多行
textBox.Text = "1" + Environment.NewLine + "+" + Environment.NewLine + "3";

答案 3 :(得分:0)

为什么不使用多行文本框(Textarea)?在您的应用程序中,为各行保留一组字符串。当显示连接数组并在文本区域上设置文本时。