Как использовать кнопки и текстовые поля в приложении winform в C #? - PullRequest
0 голосов
/ 04 марта 2010

Я пытаюсь превратить мое консольное приложение в приложение winforms.

Версия консоли запрашивает несколько входов, а затем возвращает результат.

Для версии winforms я хочу, чтобы у пользователя было несколько текстовых полей для ввода данных, с кнопкой для сброса их всех и еще одной для фактического выполнения вычисления. Затем будет отображаться результат (я думаю, это будет другое текстовое поле).

В основном я понял, как добавить кнопки и текстовые поля для ввода / расчета, но я не уверен, как отобразить вывод или добавить функциональность ко всему этому.

Редактировать: Должен ли я использовать замаскированные текстовые поля, если я хочу, чтобы пользователь не использовал недопустимый ввод (все, что не является положительным целым числом)?

Ответы [ 3 ]

2 голосов
/ 04 марта 2010

Начните с просмотра здесь: http://www.codeproject.com/KB/books/1861004982.aspx, оно немного старое, но все еще актуально.

Также посмотрите на официальном сайте Microsoft: http://windowsclient.net/learn/videos.aspx

Разработка графического интерфейса - это сложно, весело и увлекательно, и в то же время!

РЕДАКТИРОВАТЬ: я должен отметить, что я связан с вещами, потому что на этом этапе, способность самостоятельно изучать новую технологию (такую ​​как WinForms), из документации и Интернета, неоценима для развития ваших будущих навыков. 1010 *

0 голосов
/ 04 марта 2010
 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);                
            }
        }

    }
0 голосов
/ 04 марта 2010

Как насчет добавления еще одного текстового поля только для чтения для отображения вывода?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...