如何将标签中的数据组织成列

时间:2014-12-13 04:52:42

标签: c# type-conversion multiple-columns labels do-loops

我正在尝试编写一个使用后置条件循环的程序。循环计算摄氏度到华氏度的转换。我有方程式下来,但我无法得到我需要它的输出方式。 我需要将两个温度输出到同一个标签,同时将C和F温度保持在它们自己的有组织列中。这是一个链接,显示我正在尝试做什么:

enter image description here

之后,我需要对表进行右对齐,同时将C temp数据保存在同一位置。 我不知道如何做这些中的任何一个,显然在谷歌上搜索了2个半小时后,谷歌似乎也不知道。我是C#的初学者,我找不到任何说明如何做到这一点,所以我可以自学。任何帮助将不胜感激。节日快乐!!!

这是我目前的代码,我仍在努力,但数据不断聚集在一起,我只需要在顶部只显示一次Fahrenheit和Celceius

double Celceius=0;
double Fahrenheit;
lblOUT.BackColor=Color.Red;

while (Celceius <= 100)
{
    Fahrenheit = 32 + (Celceius * 1.8);

    lblOUT.Text += "Celceius"+ "Fahrenheit"+Convert.ToString(Celceius) + Environment.NewLine + Convert.ToString(Fahrenheit);

    Celceius += 5;
}

1 个答案:

答案 0 :(得分:0)

您可以使用String.PadLeft函数在华氏度值之前填充空格。在您的情况下,您可以给出最大长度3,以填充必要的空间。如果长度较小,它只会填充空格。您可以查看以下MSDN链接的详细信息。

http://msdn.microsoft.com/en-us/library/system.string.padleft%28v=vs.110%29.aspx

下面的代码会生成列表,但请记住使用每个字符大小相等的字体,例如&#34; Courier New&#34;

    private void button1_Click(object sender, EventArgs e)
    {
        double Celceius = 0;
        double Fahrenheit;
        lblOUT.BackColor = Color.Red;

        lblOUT.Text = "Celceius" + "".PadLeft(20) + "Fahrenheit";

        while (Celceius <= 100)
        {

            Fahrenheit = 32 + (Celceius * 1.8);

            lblOUT.Text += Environment.NewLine + Celceius.ToString().PadLeft(8,' ') + "".PadLeft(20) + Fahrenheit.ToString().PadLeft(10,' ');

            Celceius += 5;
        } 
    }