Radio Button, ComboBox and ProgressBar

       本周要熟悉一下各个控件,以及多个Form的跳转。我首先选择熟悉RadioButton(单选按钮),ComboBox(下拉选项框)和ProgressBar(进度条)。

      其实Radiobutton和ComboBox只是个外形,里面什么代码也不用写,代码全写在Button里,这个Button我叫它Confirm(“确定”按钮)。RadioButton有一个Checked(选中)属性,ComboBox有一个SelectedItem(已选项)的属性。它们的用法是:

label1.Text = "You selected: " + comboBox1.SelectedItem.ToString();//把多选框中的已选项转成字符串显示在label1上

if (radioButton1.Checked == true)
                label2.Text = "You obey the rule.";//单选按钮选了Yes,显示你遵守规则
else if (radioButton2.Checked == true)
                label2.Text = "You don’t obey the rule.";//单选按钮选了No,显示你不守规则

      然后为了让结果在另一个窗体里显示,需要窗体跳转,就是通常见到的Next和Back的Button。这类button里只需要写初始化语句:

//从Form2退回Form1的back button

Form1 f1=new Form1();

f1.Show();

然后调用另一个Form里的控件时要用f1.label1。

        ProgressBar是我觉得好玩自己试着用用的,没想到可以做出来。期间还遇到了不少问题,首先有很多种让进度条前进的方法,要选择一种(我选了比较简单的步进度一致的方法)。其次,代码写在哪里呢?我先是写在了ProgressBar内部,结果运行时没反应;后来写在第二个窗体里也不行;最后我忽然想到可以写在第一个窗体里,而且就用Button控制所有控件,结果成功了(从第一个窗体跳转到第二个窗体时执行,进度条在第二个窗体出现前应走完)。

             b = f2.label2.Text.Length; //确定最大值           

  progressBar1.Minimum = 1;
  progressBar1.Maximum = b;

            for (c = 1; c <= b; c++)        //从1到b每次进度条步进1
                progressBar1.Value = c; //跟踪进度
            progressBar1.Visible = false; //任务结束

我用第二个窗体中label2显示的文字数目作为最大值,其实设置一个常数也可以,但是这样比较有意义(进度条走完的速度和第二个Form中label2的文字显示速度一致)。

讲了半天还是截张图比较简单易懂:

 image image

左图中Form1选择了一种规则Rule B,(问你是否遵守规则)选了Yes;右图是按了Confirm后的执行结果。

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s