2012-03-12 10 views
0

EDIT :: これはいくつかの理由で単純かもしれませんが、今は混乱しています。私はプロジェクトに取り組んでいます。提出ボタンを押すと、上記のチェックボックスに基づいて人または従業員のいずれかを作成します。コンストラクタまたはプロパティのいずれかを使用して、すべてのフォームデータをクラスオブジェクトに入れます。 ToStringメソッドとメッセージボックスを使用して、すべてのクラス情報を表示します。フォームデータとクラスオブジェクト

私の質問は:: 送信ボタンを押したときに質問するときは、上記のチェックボックスに基づいて人または従業員を作成してください。チェックボックスの上または下にあるものを使用してください。

また、すべてのフォームデータをコンストラクタまたはプロパティのいずれかを使用してクラスオブジェクトに入れることもできます。私はこれをどうやって行うかわからない。

ToStringとメッセージボックスを使用して、すべてのクラス情報を表示します。私はメッセージボックスを行う方法を理解していますが、ToStringでは理解できません。

私は既に2つのクラスを持っていて、それらの名前はMembersとEmployeesです。会員の下で私は名前、年齢、COBを持っています。従業員の下に私は給料とJobTitleを持っています。ユーザーが従業員であるというチェックボックスをチェックすると、給与と役職が表示される唯一の時間です。

私は人を混乱させると申し訳ありませんが、私は自分自身が尋ねられているものとちょっと混乱しています。私が使用しているソフトウェアは、Microsoft Visual C#2010 Expressです。

私はそれが正しいかどうかわからない、これまで持っているコード:

private void button1_Click(object sender, EventArgs e) 
    { 
     Members obj = new Members(); <---This is what is I am assuming being asked when 
     obj.Name = "";     its says create either a person or an employee 
     obj.Age = "";     based on the above checkbox. 
     obj.COB = ""; 

     Employess obj1 = new Employess(); <-- here I am trying to put all of the form 
     obj1.Salary = "";      data into the class object using either 
     obj1.JobTitle = "";     the constructor or properties. 




     Console.WriteLine(obj.ToString());<--- this is the messagebox I am being asked to do its not all the way done. 


    } 
+0

Winforms? Webフォーム? WPF?ウインドウズの電話? Silverlight? – Oded

+1

@shanそれはあなたが達成したいことが不明だ –

+0

この宿題ですか? –

答えて

0

私があなたのコードから得たことは、従業員とメンバーに対して2つのクラスを取得し、チェックボックスの選択に基づいてそれぞれのクラスのオブジェクトにその情報を保存することです。私はあなたがbutton_clickイベントを指定しているので、あなたはWindowsフォームで作業していると思います。 その場合:

private void button1_Click(object sender, EventArgs e) 
{ 
    if(checkbox1_Member.Checked==true) 
    { 
       Members obj = new Members(); 
       obj.Name = ""; 
       obj.Age = ""; 
       obj.COB = ""; 
       MessageBox.Show(obj.Name+ " :: " +"obj.Age.ToString()); 
    } 
    else if(checkbox2_Employee.Checked==true) 
    { 
       Employees obj1 = new Employees(); 
       obj1.Salary = ""; 
       obj1.JobTitle = "";    
       MessageBox.Show (obj1.Salary.ToString()+ " ::"+obj.JobTitle.ToString()); 
    } 
} 
+0

私が考えているこの部分は、ユーザーが送信ボタンを押したときだけ、チェックボックスとは関係がありません。 – shan

+0

私はあなたが達成しようとしていることでまだ明確ではありません。ユーザーがチェックボックスをチェックすると、従業員の情報(メンバークラス情報を含む)が表示され、チェックボックスがオフの場合、メンバークラス情報のみが表示されますか? –

+0

私が得ようとしているのは、送信ボタンを押すと、上記のチェックボックスに基づいて人または従業員のいずれかを作成することです。コンストラクタまたはプロパティのいずれかを使用して、すべてのフォームデータをクラスオブジェクトに入れます。 ToStringメソッドとメッセージボックスを使用して、すべてのクラス情報を表示します。私はすでに給与と職務が現れ、ユーザーがその情報を入力できるユーザーのプレスであるチェックボックスを持っています。しかし、彼らがそれをチェックしていなければ、それはそこにはありません。 – shan

0

あなたの質問は非常に曖昧ですが、のは、仮定のトン作ってみましょう:

  1. あなたが持っているのチェックボックスを「checkEmployess」に変更しました。 (私はあなたが '従業員'を意味しているかどうかは分かりませんが、ちょうだいとしましょう)
  2. ユーザーはわかりやすい名前で入力したすべてのものについて、フォーム上にテキストボックスを持っています。
  3. 現在、すべての入力はテキストになっています。

だから、あなたはチェックボックスが/チェックさif声明で確認し、対象物の正しいソート作成されたかどうかを確認する必要があります。

private void button1_Click(object sender, EventArgs e) 
{ 
    object dude; // if you use inheritance then this could be of the base class's type 

    if (this.checkEmployess.Checked) 
    { 
     // it's an employess 
     Employess employee = new Employess(); 
     employess.Salary = textSalary.Text; // this copies the value of the control into your object 
     employess.JobTitle = textJobTitle.Text; // however for this example we've assumed every control is a text control and your object has only string properties 

     dude = employess; 
    } 
    else 
    { 
     // it's a member 
     Members member = new Members(); 
     member.Name = textName.Text; 
     member.Age = textAge.Text; // this in particular should be made numeric 
     member.COB = textCOB.Text; 

     dude = member; 
    } 

    MessageBox.Show(dude); 
} 

行われ、基本的なオブジェクトの作成です。 ToStringメソッドをこれらの2つのクラスに追加して、プロパティを表示用に書式設定することができます。あなたが作ることができます(。このアプローチは今のために、このビットに固執粗製のですが、動作します)

改善されている:入力のタイプに適してい

  1. 使用入力を制御します。例えば。数字の数値コントロール& c。
  2. オブジェクト初期化子を使用してこれらのオブジェクトを構築します。
  3. これらの2つのタイプのオブジェクトを正しく表示して表示する方法を使用してください)。
関連する問題