【问题标题】:How to Array Result on a Label in C# Windows Form如何在 C# Windows 窗体中的标签上排列结果
【发布时间】:2017-01-04 19:03:09
【问题描述】:

我正在制作一个简单的程序来计算输入数字的立方。我想将结果从 1 排列到给定的数字,但我不知道如何操作标签控件。

这是我的代码:

int num = 0;
int cube;
string result;

private void input()
{
    num = Convert.ToInt32(txtn­um.Text);
}

Private void btncompute_Click(obj­ect sender, EventArgs e){
    input();
    int i = 0;
    do
    {
        cube = num * num * num ;
        i++;
        result = i + " and cube of the " + i + " is :" + cube;
    } while (i < num);

    lbloutput.Text = result;
}

这里唯一的输出是输入数字的立方。我想从索引 0 中获取结果并通过数组将其显示在标签上。例如,对于输入 3,输出应该是这样的:

1 和 1 的立方是 1 ... 3 和 3 的立方是 27

您的帮助将不胜感激。谢谢。

【问题讨论】:

  • 请更正您的代码格式。只发布真实代码!什么问题??您可以在每一行添加一个换行符;除此之外,问题出在哪里?
  • result 已经是一个字符串,您可以简单地执行lbloutput.Text = result;
  • 我看到了,先生。我已经改过了。谢谢先生。 @wdosanjos

标签: c# arrays winforms


【解决方案1】:

有几件事,当前的逻辑不会给你想要的。

  1. 您希望乘以 i,而不是乘以 num,例如,如果 num = 3,cube 将始终为 27。根据您的输出,您希望所有多维数据集都达到并包括您的数字。
  2. 您想将 i 设置为 1 以从 1 开始,否则您从 0 开始
  3. 您还想计算 num 的立方,这意味着您必须更改循环以包含 num,因此 i

将您的代码更改为以下内容:

int num = 0;
int cube;
string result = String.Empty;

private void input()
{
    num = Convert.ToInt32(txtn­um.Text);
}

private void btncompute_Click(obj­ect sender, EventArgs e)
{
    input();

    int i = 1;

    do
    {
        cube = i* i* i;

        result = result + String.Format("{0} and cube of the {0} is : {1}\r\n", i, cube);

        i++;
    } 
    while (i <= num);

    lbloutput.Text = result.ToString();
}

【讨论】:

  • 您好,先生。感谢您对我的问题的答复。在您编辑它之前,我已经尝试了第一个代码,但它只返回相同的多维数据集,尽管已经有重复语句。那么这个就不行了。我认为您已将变量 num 替换为 i。我不需要为立方体先生声明一个数组变量吗?或者获取立方体每个索引值的东西?@Kweku
  • @curiosycar,试试新代码,我已经测试过了,它可以工作。另请参阅代码上方的我的 cmets。
  • @curiosycar,没问题。最后一件事,您不需要在此处使用 do while 循环,只需使用常规 while 语句:while(i
  • @curiosycar,如果答案对您有用,请不要忘记点击已回答,或者给它一个向上箭头。
  • @Kweku 先生,我没有足够的声誉来公开展示我的投票。但它说声望低于 15 的投票会被记录。
【解决方案2】:

问题的最大部分是标签不是显示多行文本的合适控件。它不会根据内容的大小调整或滚动。使用多行文本框可能会更好。如果您不希望它可编辑(如标签),可以将其设为只读。

在这种情况下,您需要调用

mytextBox.Clear()

在循环之前清除任何现有文本。然后在循环中构建结果字符串后,调用

mytextbox.AppendText(结果);

将下一次迭代添加到内容中。

实现留给读者作为练习;)

【讨论】:

    猜你喜欢
    • 2010-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-14
    • 2012-01-04
    • 1970-01-01
    • 2021-12-12
    • 1970-01-01
    相关资源
    最近更新 更多