2016-06-24 1 views
0

を追加した後に表示されます(C#を初めて使用しました)。クラスの分割(GUIとコードの計算を含む)をそれぞれの部分に分割した後(一つのクラスGUI、一つのプログラム自体が)、それは私が計算のためのボタンを押しevertime示していますにSystem.FormatExceptionSystem.FormatException - 新しいクラス

後は

class Annuitätenrechner : Annuitätendarlehen 
{ 
public void AnRechner() { 
     int betrag; 
     betrag = Convert.ToInt32(betrag2.Text); 
     betrag = int.Parse(betrag2.Text); 

     [Irrelevent stuff following...] 
     } 
} 

セカンドクラス

public partial class Annuitätendarlehen : Window 
    { 

    public Annuitätendarlehen() 
    { 
     InitializeComponent(); 
    } 

    private void berechnen2_Click(object sender, RoutedEventArgs e) 
    { 
     var AnRe = new Annuitätenrechner(); 
     AnRe.AnRechner(); 
    } 
最初のクラスです

なぜそれが役に立たないのか分かりません<。 <

+1

ボタンハンドラに「Annuitätenrechner」の新しいインスタンスを作成しています。私は 'betangle2'はその_新しいインスタンス_の' TextBox'メンバーだと思うので、 'Text'プロパティはまだ空です('Annuitätendarlehen'インスタンスの 'TextBox'ではありません!)。空文字列は 'int'に解析できません。 –

答えて

0

ルネのコメントは既に理にかなっています。私は私の2セントを追加したいと思い

:あなたは、例外がスローされるたびに壊したい場合

1)は、あなたがVS 2013 and beforeenter link description hereを見てみることができます。

2)ウォッチウィンドウで$ exception仮想変数を確認し、エラーの詳細については、「スタック」または内部例外をチェックすることができます。例外の詳細を見ると、エラーメッセージが常に役立ちます。

質問そのものについては、Int32.ParseまたはConvert.ToInt32のドキュメントを見て、 "FormatException"がスローされることを確認することもできます。

この文書によれば、ボタンがトリガされたとき、betrag2.Textは有効な整数ではありませんでした。

+0

私はこれを解決するためのあなたの考えを持っています、ありがとう。しかし、今私は次の問題を抱えています。それを修正する方法はわかりません。異なるものを試し、何も働かなかった。 TextBoxの値を別のクラスから取得する必要があります。どのメソッドを使用すればよいのか教えてください。ありがとうございました –

+0

申し訳ありませんが、質問した質問は少し曖昧でした。通常は、テキストボックスの値をどこかに設定することができますが、それは本当に「別のクラス」が何であるかに依存します。 –

+0

私は今、大丈夫です:)レネは彼のアイデアを持っていました。あなたのリンクも私を助けました。 –

関連する問題