2011-11-07 51 views
2

我在製作下面給出的程序時不斷收到此錯誤:不斷收到此錯誤:事件'System.Windows.Controls.Primitives.ToggleButton.Checked'只能出現在+ =的左側或 - =

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Windows; 
using System.Windows.Controls; 
using System.Windows.Data; 
using System.Windows.Documents; 
using System.Windows.Input; 
using System.Windows.Media; 
using System.Windows.Media.Imaging; 
using System.Windows.Navigation; 
using System.Windows.Shapes; 

namespace simplecalc 
{ 
    /// <summary> 
    /// Interaction logic for MainWindow.xaml 
    /// </summary> 
    public partial class MainWindow : Window 
    { 
     public MainWindow() 
     { 
      InitializeComponent(); 
     } 

     private void button1_Click(object sender, RoutedEventArgs e) 
     { 
      int a, b, c; 
      a = int.Parse(textBox1.Text); 
      b = int.Parse(textBox2.Text); 
      if (rbadd.Checked == true) 
       c = a + b; 
      else if (rbsubtract.Checked == true) 
       c = a - b; 
      else if (rbdivide.Checked == true) 
       c = a/b; 
      else 
       c = a * b; 
      textBox3.Text = c.ToString(); 
     } 
    } 
} 

我正在製作一個基於WPF的C#計算器。我對C#很陌生。

+0

只是好奇,爲什麼這個問題+2? –

回答

9

Checked這裏是一個事件,不是bool,這種情況發生時檢查。你需要一個不同的財產 - 大概IsChecked

次要筆記,但風格上,它通常是優選不布爾值比較true/false,而是:

 if (rbadd.IsChecked) 
      c = a + b; 
     else if (rbsubtract.IsChecked) 
      c = a - b; 
     else if (rbdivide.IsChecked) 
      c = a/b; 

等;或者如果你想測試falseif(!rbadd.IsChecked)

+0

請注意,這將不會編譯,因爲IsChecked屬性的類型是'bool?'。投給布爾,就像'if((bool)rbadd.IsChecked)'。 – Clemens

相關問題