C# tutorial- GUI: a simple calculator

C# GUI



C# Calculator

In the previous sections, we displayed text in console window (black background window). In this section, you will learn to use window forms and other useful components and controls to create GUI applications that increase interactivity.

 

Step1: Create a project (Windows Forms Application)

 

Step2: Design interface


  -Click on Toolbox in the left site to extend it. You will a list of controls as shown in below:

 


  -Drag and drop one textbox and rename it to txtbox(change text in Name field of the properties window to txtbox).

Note: To open Properties window of a control, right-click the control and click Properties.
  -Drag and drop 21 command buttons
  -Rename button0 to cmd0, button1 to cmd1, button2 to cmd2, button3 to cmd3,   button4 to cmd4, button5 to cmd5, button6 to cmd6, button7 to cmd7, button8 to cmd8, button9 to cmd9, button10 to cmdequal, button11 to cmdclear, button 12 to cmdadd, button13 to cmdsubtract, button14 to cmdmultiply, button15 to cmddivide, button16 to cmdsquare, button17 to cmdsqtr, button 18 to cmdcos, button19 to cmd sin, button20 to cmdtan.
  -The caption of each button also needs to be changed. For example, you need to change the caption of button0 to 0, button1 to 1, button 2 to 2...etc.

Step3: Write code

To attach code to a control, you need to double-click the control to open code editor. And then you just copy code and paste it where it is possible.

 

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

 

namespace CWindowGUI

{

    public partial class Calculator : Form

    {

        //global variables

      string sign;

        double val1;

        double val2;

        int trackkeypoint=0;

 

        public Calculator()

        {

            InitializeComponent();

        }

 

        private void cmd0_Click(object sender, EventArgs e)

        {

            txtbox.Text = txtbox.Text+cmd0.Text;

        }

 

        private void cmd1_Click(object sender, EventArgs e)

        {

            txtbox.Text = txtbox.Text + cmd1.Text;

        }

 

        private void cmd2_Click(object sender, EventArgs e)

        {

            txtbox.Text = txtbox.Text + cmd2.Text;

        }

 

        private void cmd3_Click(object sender, EventArgs e)

        {

            txtbox.Text = txtbox.Text + cmd3.Text;

        }

 

        private void cmd4_Click(object sender, EventArgs e)

        {

            txtbox.Text = txtbox.Text + cmd4.Text;

        }

 

        private void cmd5_Click(object sender, EventArgs e)

        {

            txtbox.Text = txtbox.Text + cmd5.Text;

        }

 

        private void cmd6_Click(object sender, EventArgs e)

        {

            txtbox.Text = txtbox.Text + cmd6.Text;

        }

 

        private void cmd7_Click(object sender, EventArgs e)

        {

            txtbox.Text = txtbox.Text + cmd7.Text;

        }

 

        private void cmd8_Click(object sender, EventArgs e)

        {

            txtbox.Text = txtbox.Text + cmd8.Text;

        }

 

        private void cmd9_Click(object sender, EventArgs e)

        {

            txtbox.Text = txtbox.Text + cmd9.Text;

        }

 

        private void cmdequal_Click(object sender, EventArgs e)

        {

            val2 =double.Parse(txtbox.Text);

            double result;

            if (sign == "+")

            {

                result = val1 + val2;

                txtbox.Text =result.ToString();

            }

            else if (sign == "-")

            {

                result = val1 - val2;

                txtbox.Text = result.ToString();

            }

            else if (sign == "*")

            {

                result = val1 * val2;

                txtbox.Text = result.ToString();

            }

            else

            {

                result = val1 / val2;

                txtbox.Text = result.ToString();

            }

          

        }

 

        private void cmdclear_Click(object sender, EventArgs e)

        {

            //clear Texts

            txtbox.Text = "";

            val1 = 0;

            val2 = 0;

            sign = "";

        }

 

        private void cmdcos_Click(object sender, EventArgs e)

        {

           double v;

           v = double.Parse(txtbox.Text);

           txtbox.Text=Math.Cos(v).ToString();

        }

 

        private void cmdsin_Click(object sender, EventArgs e)

        {

            double v;

            v = double.Parse(txtbox.Text);

            txtbox.Text = Math.Sin(v).ToString();

        }

 

        private void cmdsquare_Click(object sender, EventArgs e)

        {

            double v;

            v = double.Parse(txtbox.Text);

            txtbox.Text = Math.Pow(v,2).ToString();

        }

 

        private void cmdsqrt_Click(object sender, EventArgs e)

        {

            double v;

            v = double.Parse(txtbox.Text);

            txtbox.Text = Math.Sqrt(v).ToString();

        }

 

        private void cmdtan_Click(object sender, EventArgs e)

        {

            double v;

            v = double.Parse(txtbox.Text);

            txtbox.Text = Math.Tan(v).ToString();

        }

 

        private void cmdsubtract_Click(object sender, EventArgs e)

        {

           sign = "-";

           val1 = double.Parse(txtbox.Text);

           txtbox.Text = "";

        }

 

        private void cmdplus_Click(object sender, EventArgs e)

        {

            sign = "+";

            val1 = double.Parse(txtbox.Text);

            txtbox.Text = "";

        }

 

        private void cmdmultiply_Click(object sender, EventArgs e)

        {

            sign = "*";

            val1 = double.Parse(txtbox.Text);

            txtbox.Text = "";

        }

 

        private void cmddivide_Click(object sender, EventArgs e)

        {

            sign = "/";

            val1 = double.Parse(txtbox.Text);

            txtbox.Text = "";

        }

 

        private void txtbox_TextChanged(object sender, EventArgs e)

        {

          

 

        }

 

        private void txtbox_KeyPress(object sender, KeyPressEventArgs e)

        {

            int keycode;

            keycode = e.KeyChar;

            //accept only number from key 0 to key 9, key back, and key dot

            if (keycode >= 48 && keycode <= 57 || keycode==8 || keycode==32 || keycode==46)

            {

                //key dot allowed only one time

                if (keycode == 46) ++trackkeypoint;

                if (trackkeypoint > 1) { e.Handled = true; --trackkeypoint; }

            }

            else e.Handled = true;

        }

 

        private void txtbox_KeyDown(object sender, KeyEventArgs e)

        {

           

 

               }

    }

}





Comments

mini comment

 mini

hi gal !
i need a code calculator
especially with output
please help me of this !!!

06-16-2014
Dara comment

 Dara

Hi all! Now you can download the complete Calculator project on the page http://www.worldbestlearningcenter.com/index_files/home-ass.htm.

10-29-2013
omprakash  comment

 omprakash

Hi Omprakash thoukar
no run 2008 Visul Studio
please help
op.thoukar@gmail.com

10-29-2013
keat ngan comment

 keat ngan

I need code Calculator

09-21-2013
Name:
Comment:
Enter the text:
CAPTCHA image

....................................................................................................................Home | Forum | About | Contact
This website intents to provide free and high quality tutorials, examples, exercises and solutions, questions and answers of programming and scripting languages:
C, C++, C#, Java, VB.NET, Python, VBA,PHP & Mysql, SQL, JSP, ASP.NET,HTML, CSS, JQuery, JavaScript and other applications such as MS Excel, MS Access, and MS Word. However, we don't guarantee all things of the web are accurate. If you find any error, please report it then we will take actions to correct it as soon as possible.
Copyright @ 2011-2013 worldbestlearningcenter. All Rights Reserved.
Home Programming Web DB & App Questions Exercises Tips Programs FAQs Download About
Computer-Wbest
Popular Pages
You might like