アプリ版:「スタンプのみでお礼する」機能のリリースについて

visualstudio C#でアプリケーションを作っています。初心者です。
テキストボックスを2回クリックして、2点間の距離を算出するという部分を作りたいのですがうまくいきません。
ビルドはできるのですが、アプリを使用すると、
「型 'System.FormatException' の初回例外が mscorlib.dll で発生しました
追加情報:入力文字列の形式が正しくありません。」
と表示されます。

テキストボックス4つはそれぞれx1x2y1y2が表示されています。
各変数を取得し、計算させテキストボックに表示させる方法を知りたいです。

以下自分なりにつくったソースコードですが、問題点等教えていただいたいです。
よろしくお願いします。

int x1,x2,y1,y2;
double z;
x1 = int.Parse(textBox1.Text);
y1 = int.Parse(textBox2.Text);
x2 = int.Parse(textBox3.Text);
y2 = int.Parse(textBox4.Text);
z = Math.Sqrt(Math.Pow(x2 - x1, 2) + Math.Pow(y2 - y1, 2));
textBox5.Text = z.ToString();

質問者からの補足コメント

  • テキストボックスにはピクチャーボックスをクリックした際のx座標とy座標は表示されるようになっています。
    一回目のクリックで1.2に2回目では3.4に表示されます。

    入力という形ではないですが、数値は表示されています。

    No.1の回答に寄せられた補足コメントです。 補足日時:2016/11/11 11:52

A 回答 (3件)

>入力という形ではないですが、数値は表示されています。



数字と数値は区別してほしいところですが…まぁ、本題ではないので……。

コード実行時には全てに数字が入っている。
ということでいいんですかね?
『数字以外』が入っていたり、『空』だったりするとエラーになると思いますが。
https://msdn.microsoft.com/ja-jp/library/b3h1hf1 …

例外出さないようにする。というのであれば、
https://msdn.microsoft.com/ja-jp/library/f02979c …
辺りを使用して戻り値を確認するべき…でしょうか。
    • good
    • 0
この回答へのお礼

無事解決いたしました。
ありがとうございまいした。

お礼日時:2016/11/13 16:27

そのエラーは、どの行で発生してますか。


又、その時の、textBox1.Text~textBox4.Textに表示されている値はいくつですか。
    • good
    • 0
この回答へのお礼

申し訳ありません。先日、うまく作動するようになりました。
せっかくお答えいただいたのに申し訳ありません。
ありがとうございました。

お礼日時:2016/11/13 16:25

そのコードげ実行される時点で、textBox1からtextBox4に数字は入力済みなんでしょうか?

この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A