如何在C#中的winform应用程序中使用按钮和文本框?

时间:2010-03-04 04:40:12

标签: c# winforms input

我正在尝试将我的控制台应用程序变成winforms应用程序。

控制台版本会要求多个输入,然后返回输出。

对于winforms版本,我希望有多个文本框供用户输入数据,一个按钮可以全部重置,另一个实际执行计算。然后会有一个显示结果显示(我猜它将是另一个文本框)。

基本上我已经想出了如何为输入/计算添加按钮和文本框,但我不确定如何显示输出,或者为所有这些添加功能。

编辑:如果我想让用户不使用无效输入(任何不是正整数的东西),我应该使用蒙面文本框吗?

3 个答案:

答案 0 :(得分:2)

首先来看这里:http://www.codeproject.com/KB/books/1861004982.aspx,它有点陈旧但仍然相关。

另请参阅Microsoft官方网站:http://windowsclient.net/learn/videos.aspx

GUI开发非常棘手,有趣且令人兴奋,同时也是如此!

编辑:我应该指出我正在与事物联系,因为在这一点上,能够通过文档和互联网自己学习一种新技术(例如WinForms)对于你未来的技能发展是非常宝贵的。 / p>

答案 1 :(得分:0)

如何添加另一个只读文本框来显示输出?

答案 2 :(得分:0)

 public partial class Form2 : Form
    {
        Button reset = new Button();
        Button compute = new Button();
        Panel pnl = new Panel();

        public Form2()
        {

            reset.Text = "reset";
            compute.Text = "compute";
            pnl.Name = "pnl";

            reset.Click += new EventHandler(reset_Click);
            compute.Click += new EventHandler(compute_Click); 

            this.Controls.Add(compute);
            this.Controls.Add(reset);
            this.Controls.Add(pnl);

            init();

            foreach (Control ctl in this.Controls)
            {
                ctl.Dock = DockStyle.Top;
            }


        }

        void compute_Click(object sender, EventArgs e)
        {
            int tot=0;
            foreach (TextBox txt in pnl.Controls)
            {
                tot += int.Parse(txt.Text);
            }

            MessageBox.Show("total is:" + tot.ToString());
        }

        void reset_Click(object sender, EventArgs e)
        {
            foreach (TextBox txt in pnl.Controls)
            {
                txt.Text = "0";
            }
        }

        private void init()
        {   
            pnl.Controls.Clear();

            //5 textbox
            for (int i = 0; i <= 5; i++)
            {
                TextBox t = new TextBox();
                t.Dock = DockStyle.Top;
                t.Text = "0";
                this.Controls["pnl"].Controls.Add(t);                
            }
        }

    }