2011-11-14 17 views
1

私はWindowsフォームを学習していますが、Windowsフォームとクラスで作業しているときは固執しています。私はユーザーがFarenheitの温度を入力してから「変換」ボタンをクリックすると、入力値を「変換」クラスに取り込み、摂氏に変換してからFarenheitとCelsiusの両方を表示するフォームを作成したいメッセージボックスWindowsフォームアプリケーションからクラスを呼び出す

私はフォームを設計しました。私はクラスの作成方法を知っています。私が知らないのは、入力値(farenheit)をフォームからクラスに取り込んで、変換された値をフォームから呼び出してメッセージボックスに表示する方法です。

私はC#での初心者です。あなたの理解と初心者のような答えに感謝します。ありがとうございました!あなたがこの方法

public class Convertor 
{ 
public datatype FarenheitToCelsius(String value) 
{ 
    datatype celsius; 
    ...conversion logic 
    return celsius; 
} 
} 

を作成する必要が

答えて

5

その後、あなたはクラス

public class form1 
{ 
    public void button_click(arguments...) 
    { 
     Convertor c = new Convertor(); 
     MessageBox.Show(c.FarenheitToCelsius(textbox1.text)); 
    } 
} 

のメソッドを呼び出す必要があります:あなたは2を宣言する必要があり、これは

+0

はい、私はクラスと変換ロジックの中でメソッドを作成する方法を知っていますが、私はどのようにこのケースでは摂氏をMessageBoxに表示するかです。 – okr

+0

ありがとうございました...私はあなたがここで何をしているのかを見ていますが、私はそれを行うときにMessageBoxの行に "オブジェクト参照は非静的なフィールド、メソッド、またはプロパティに必要です。 ? – okr

+0

@Oskar - メソッドをstaticとして削除し、メソッドにアクセスするためのコンバータクラスのインスタンスを作成してエラー –

1
単なる部分の例である

をクラスpropertiesのクラス1はsetFarenheitで、もう1つはgetConvertedheitですあなたはクラスを呼び出すことができますし、クラス内

public string setFarenheit { set; } 
public string getConvertedheit { get; set; } 

であり、あなたのクラスのgetConvertedheitプロパティに変換されたheit値を割り当てる次の2つのプロパティfollows.Theとしての特性を作成することができます。

getConvertedheit = heitConvertedintoCelcius;//your converted celcius heit temp inside the class. 

Formクラスでは、同じ名前空間に存在する場合は、次のように呼び出すことができます。

1

これは、テキストボックスのTEXTプロパティを使用してデータバインディングまたは値にアクセスする2つの方法があります。

このシナリオでは、2番目の方が簡単に表示されるので、もう一度見てみましょう。

このコードは、CONVERTボタンのClickイベントハンドラにあります(コンバートクラスにCONVERTメソッドがあることを前提としています。このメソッドは、farenheit tempを文字列として受け取り、表示したい文字列を返します) 。

convert c = new convert(); 
myConversionString as string = c.ConvertForDisplay(MyTextBoxName.Text); 
MessageBox.Show(myConversionString); 

これは、その値をクラスに取得し、最終結果をUIに戻す基本的な方法です。

関連する問題