I am making a simple calculator. Till now I have been successfully able to implement some basic features in my calculator. Take a look at the code
public double num1 { get; set; }
        public double num2 { get; set; }
        public string op { get; set; }
       // public bool checker { get; set; }
        private void ButtonBase_OnClick1(object sender, RoutedEventArgs e)
        {
            CalculateTextBlock.Text += Button1.Content.ToString();
            ShowTextBlock.Text += Button1.Content.ToString();
        }
        private void ButtonBase_OnClick2(object sender, RoutedEventArgs e)
        {
            CalculateTextBlock.Text += Button2.Content.ToString();
            ShowTextBlock.Text += Button2.Content.ToString();
        }
        private void ButtonBase_OnClick3(object sender, RoutedEventArgs e)
        {
            CalculateTextBlock.Text += Button3.Content.ToString();
            ShowTextBlock.Text += Button3.Content.ToString();
        }
        private void ButtonBase_OnClick4(object sender, RoutedEventArgs e)
        {
            CalculateTextBlock.Text += Button4.Content.ToString();
            ShowTextBlock.Text += Button4.Content.ToString();
        }
        private void ButtonBase_OnClick5(object sender, RoutedEventArgs e)
        {
            CalculateTextBlock.Text += Button5.Content.ToString();
            ShowTextBlock.Text += Button5.Content.ToString();
        }
        private void ButtonBase_OnClick6(object sender, RoutedEventArgs e)
        {
            CalculateTextBlock.Text += Button6.Content.ToString();
            ShowTextBlock.Text += Button6.Content.ToString();
        }
        private void ButtonBase_OnClick7(object sender, RoutedEventArgs e)
        {
            CalculateTextBlock.Text += Button7.Content.ToString();
            ShowTextBlock.Text += Button7.Content.ToString();
        }
        private void ButtonBase_OnClick8(object sender, RoutedEventArgs e)
        {
            CalculateTextBlock.Text += Button8.Content.ToString();
            ShowTextBlock.Text += Button8.Content.ToString();
        }
        private void ButtonBase_OnClick9(object sender, RoutedEventArgs e)
        {
            CalculateTextBlock.Text += Button9.Content.ToString();
            ShowTextBlock.Text += Button9.Content.ToString();
        }
        private void ButtonBase_OnClick0(object sender, RoutedEventArgs e)
        {
            CalculateTextBlock.Text += Button0.Content.ToString();
            ShowTextBlock.Text += Button0.Content.ToString();
        }
        private void ButtonBase_OnClickdot(object sender, RoutedEventArgs e)
        {
            CalculateTextBlock.Text += Buttondot.Content.ToString();
            ShowTextBlock.Text += Buttondot.Content.ToString();
        }
        private void ButtonBase_OnClickobrac(object sender, RoutedEventArgs e)
        {
            CalculateTextBlock.Text += Buttonobrac.Content;
            ShowTextBlock.Text += Buttonobrac.Content.ToString();
        }
        private void ButtonBase_OnClickcbrac(object sender, RoutedEventArgs e)
        {
            CalculateTextBlock.Text += Buttoncbrac.Content;
            ShowTextBlock.Text += Buttoncbrac.Content.ToString();
        }
        //private void ButtonBase_OnClickinf(object sender, RoutedEventArgs e)
        //{
        //    CalculateTextBlock.Text += ("0/0").ToString();
        //    ShowTextBlock.Text += "Inf.";
        //}
        private void ButtonBase_OnClickplus(object sender, RoutedEventArgs e)
        {
            //num1 += double.Parse(CalculateTextBlock.Text);
            num1 = Convert.ToDouble(CalculateTextBlock.Text);
            op = "plus";
            CalculateTextBlock.Text = "";
            ShowTextBlock.Text += "+";
        }
        private void ButtonBase_OnClickminus(object sender, RoutedEventArgs e)
        {
            num1 += double.Parse(CalculateTextBlock.Text);
            op = "sub";
            CalculateTextBlock.Text = "";
            ShowTextBlock.Text += "-";
        }
        private void ButtonBase_OnClickmul(object sender, RoutedEventArgs e)
        {
            num1 +=  double.Parse(CalculateTextBlock.Text);
            op = "mul";
            CalculateTextBlock.Text = "";
            ShowTextBlock.Text += "*";
        }
        private void ButtonBase_OnClickdiv(object sender, RoutedEventArgs e)
        {
            num1 += double.Parse(CalculateTextBlock.Text);
            op = "div";
            CalculateTextBlock.Text = "";
            ShowTextBlock.Text += "/";
        }
        private void ButtonBase_OnClickequal(object sender, RoutedEventArgs e)
        {
            switch (op)
            {
                case "plus" :
                    //num2 = num1 + double.Parse(CalculateTextBlock.Text);
                    num2 = num1 + Convert.ToDouble(CalculateTextBlock.Text);
                    break;
                case "sub":
                    num2 = num1 - double.Parse(CalculateTextBlock.Text);
                    break;
                case "mul":
                    num2 = num1*double.Parse(CalculateTextBlock.Text);
                    break;
                case "div":
                    num2 = num1/double.Parse(CalculateTextBlock.Text);
                    break;
            }
            CalculateTextBlock.Text = num2.ToString();
            num1 = 0;
            ShowTextBlock.Text = "";
        }
        private void ButtonBase_OnClickclear(object sender, RoutedEventArgs e)
        {
            num1 = 0;
            num2 = 0;
            ShowTextBlock.Text = "";
            CalculateTextBlock.Text = "";
        }
The problem occurs when I insert brackets into the calculatetextbox. It throws a FormatException at the parsing. Is there any way I can implement BIDMAS here?
Note: I have tried both parsing and converting methods {int.parse and convert}
Any help is appreciated. Thanks
 
     
     
     
     
     
    