繁体   English   中英

尝试使用c#中的if命令创建具有3个跟踪栏值的排序代码

[英]Trying to create sorting code with 3 trackbar values using the if command in c#

我必须使用(c#)创建Windows窗体,

  • 3个轨迹栏
  • 1个按钮
  • 1个标签

使用if和else if命令。 我的问题是,我无法获得显示在label1中的最终结果。 我确实设法在标签2-4中显示它们。 但这不是完成此任务的方法。

这是代码。

    {
    public Form1()
    {
        InitializeComponent();
        trackBar1.Maximum = 10;
        trackBar1.Minimum = 0;
        trackBar2.Maximum = 10;
        trackBar2.Minimum = 0;
        trackBar3.Maximum = 10;
        trackBar3.Minimum = 0;
    }

    private void button1_Click(object sender, EventArgs e)
    {
        int a;
        int b;
        int c;

        a = Convert.ToInt32 (trackBar1.Value);
        b = Convert.ToInt32 (trackBar2.Value);
        c = Convert.ToInt32 (trackBar3.Value);

        int d;
        int E;
        int f;

        if ((a < b) && (a < c)&& (b> c))
        {
            label2.Text = Convert.ToString(d = a);
            label3.Text = Convert.ToString(E = c);
            label4.Text = Convert.ToString(f = b);
            label1.Text =Convert.ToString (string d,e,f);
        }
        if ((a < b) && (a < c) && (b < c))
        {
            label2.Text = Convert.ToString(d = a);
            label3.Text = Convert.ToString(E = b);
            label4.Text = Convert.ToString(f = c);
        }
        else if ((a > c) && (a > b) && (b > c))
        {
            label2.Text = Convert.ToString(d = c);
            label3.Text = Convert.ToString(E = b);
            label4.Text = Convert.ToString(f = a);
        }
        else if ((a < c) && (a > b) && (b > c))
        {
            label2.Text = Convert.ToString(d = c);
            label3.Text = Convert.ToString(E = a);
            label4.Text = Convert.ToString(f = b);
        }
        else if ((b < a) && (b < c) && (c > a))
        {
            label2.Text = Convert.ToString(d = b);
            label3.Text = Convert.ToString(E = a);
            label4.Text = Convert.ToString(f = c);
        }
        else if ((b < a) && (b < c) && (c < a))
        {
            label2.Text = Convert.ToString(d = b);
            label3.Text = Convert.ToString(E = c);
            label4.Text = Convert.ToString(f = a);
        }
    }

我需要label1.Text成为标签2-4的结果,我尝试了这个label1.Text = Convert.ToString(d = b + E = c + f = a),然后尝试将+替换为,但是那行不通要么。 我想我必须使用字符串格式,但是我不知道如何以及是否需要它。

这是你想做的吗? 我会将其放在您的if语句下面,以便在每种情况下都可以调用它。

label1.Text = (int.Parse(label2.Text) + int.Parse(label4.Text)).ToString();

我认为您希望将标签label2, label3, label4一起显示在label1 放在ifs行之后

label1.Text = d.ToString() + " " + E.ToString() + " " + f.ToString();

连接字符串时,最好使用string.Format

在你的情况下

label1.Text = string.Format("{0} {1} {2}", d,E,f);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM