尝试将for循环的输出格式化为标签

时间:2014-02-12 20:07:46

标签: c#

我确信这有一个简单的答案,但我正在尝试使用for循环制作标题。我的变量tipRate设置为.10TIPSTESP设置为.05。 for循环在控制台应用程序中使用Console.WriteLine命令正常工作,但我正在尝试在表单中执行此操作。输出应为.10 .15 .20 .25。我不知道如何附加字符串以防止它写入以前的输出。提前谢谢。

for (tipRate = lowRate; tipRate <= highRate; tipRate += TIPSTEP)
    lblTipHead.Text = String.Format( "{0,  8}", tipRate.ToString("F"));

3 个答案:

答案 0 :(得分:1)

lblTipHead.Text += " " + String.Format( "{0,  8}", tipRate.ToString("F"));

此外,循环前lblTipHead.Text = String.Empty;。但是,最好先创建一个字符串(或使用StringBuilder方法Append()),连接您的值,然后将其分配给lblTipHead.Text,这样可以防止不需要的表单刷新。

如果有帮助,请告诉我。

答案 1 :(得分:0)

您每次都要替换标签文字,请使用+=代替=

lblTipHead.Text += " " + String.Format( "{0,  8}", tipRate.ToString("F"));

您还应该在运行循环之前清除标签文本,只是为了确保您没有附加不需要的数据,这将清除标签lblTipHead.Text = ""

答案 2 :(得分:0)

您需要使用+=附加到lblTipHead.Text的当前值,而不是破坏性地分配给它 - 换句话说......

lblTipHead.Text += String.Format( "{0,  8}", tipRate.ToString("F"));

...而不是:

lblTipHead.Text = String.Format( "{0,  8}", tipRate.ToString("F"));

使用+=,语句转换为:

lblTipHead.Text = lblTipHead.Text + String.Format( "{0,  8}", tipRate.ToString("F"));