-3

華氏から摂氏へのコンバーターを作成しようとしていますが、ボタンをクリックしても何も起こらず、その理由がわかりません。私を助けてください。

これは C# で記述されており、ラベル、ボタン、入力用のテキスト ボックス、および出力用の複数行のテキスト ボックスを含むフォームがあります。

namespace _14._6
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

        }
        private void button1_Click( object sender, EventArgs e) 
        {
            int farenhait;
            int celsius;

            farenhait = Convert.ToInt32(textbox2.Text);
            celsius = Convert.ToInt32(5.0 / 9.0 * (farenhait - 32));
            textBox1.Text = farenhait + "grader på farenhait skalan motsvarar \n " + celsius + "grader celsius";
        }
    }
}
4

3 に答える 3

0

デバッガーは正確に何が間違っていると言っていますか?

元の質問から大きく逸脱しないように、抽象化と呼ばれる手法を使用することをお勧めします。この例は、タスクを実行するパラメーターを受け取る別のクラスを作成することです。

public class TemperatureConverter
{
    public void Convertion(int fahrenheit, int celsius)
    {
          // Input your conversion syntax here.
    }
}

その特定のクラスで変換を処理できるようになりました。ボタン内のフォームで、必要なエラー処理を提供してから、それらの値で実際に呼び出すことができます。

private void button1_click(object sender, EventArgs e)
{
     // Error Handling

     TemperatureConverter tc = new TemperatureConverter();
     tc.Conversion(textbox1.Text, textbox2.Text);
}

この非常に貧弱な例では、文字列整数にキャストする必要があります。そうしないと、エラーが発生します。しかし、これはオブジェクト指向をより順守するための例です。

あなたの他の問題:「ボタンをクリックしても何も起こりません」。これにより、 EventHandlerが壊れていると思われます。次の手順を実行します:

  1. デザイナーモードに入る
  2. ボタンを選択してください
  3. プロパティを開く
  4. 稲妻に近いボタンが表示されるので、クリックします
  5. クリックして見つけ、EventHandler が正しく配線されていることを確認します。

これは、Sean が提供したコード化されたアプローチに対するデザイナーのアプローチです。

うまくいけば、これが役に立ちます。

于 2013-06-05T15:29:33.483 に答える