2012-03-12 40 views
0

編輯:: 這可能很簡單,但現在它讓我感到困惑。我正在開發一個項目,當按下提交按鈕時,根據上面的複選框創建一個人員或一個員工。使用構造函數或屬性將所有表單數據放入類對象中。使用ToString方法和一個消息框顯示所有的類信息。表單數據和類對象

我的問題是:: 當它詢問什麼時候按下提交按鈕時,根據上面的複選框創建一個人或員工。我是否可以使用複選框或以下的內容。

也可以使用構造函數或屬性將所有表單數據放入類對象中。我不確定如何做到這一點。

使用ToString和消息框顯示所有的類信息。我知道如何做一個消息框,但不與ToString。

現在我已經有兩個類,這些名稱是成員和員工。在成員名下,我有姓名,年齡和COB。在員工中,我有Salary和JobTitle。如果用戶選中說是個人員工的複選框,薪酬和職位出現的唯一時間。

對不起,如果我迷惑人我自己有點困惑與被問到的東西。我使用的軟件是Microsoft Visual C#2010 Expressed。

我至今不知道這是否是正確的或不代碼:

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? Windows手機? Silverlight的? – Oded 2012-03-12 12:15:47

+1

@shan不清楚你想做什麼 – 2012-03-12 12:16:04

+0

這是功課嗎? – 2012-03-12 12:17:27

回答

0

從我從你的代碼得到的是你已經採取了兩個班的員工和會員,並要存儲在其基於您選中複選框各自的類的對象的信息。我想你正在windows窗體中工作,因爲你已經指定了button_click事件。 如果是這樣的話:

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 2012-03-12 12:53:21

+0

我仍然不清楚你想要達到的目標。您是否在說如果用戶選中複選框,將顯示該員工的信息(包括成員等級信息),並且如果取消選中該複選框,則只顯示成員等級信息。 – 2012-03-12 13:22:50

+0

我想要得到的是如果按下提交按鈕,根據上面的複選框創建一個人或一個員工。使用構造函數或屬性將所有表單數據放入類對象中。使用ToString方法和一個消息框顯示所有的類信息。我已經有一個複選框,是用戶按下,然後工資和工作標題出現,用戶可以輸入該信息。但如果他們不檢查它,那麼它不在那裏。 – shan 2012-03-12 13:26:43

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方法添加到這兩個類中以格式化它們的屬性以進行顯示。 (這種方法是有點粗糙,但將努力使其堅持這個現在。)

改進你才能使有:

  1. 是更適合的輸入類型使用輸入控件。例如。數字的數字控制,& c。
  2. 使用對象初始化器來構造這些對象。
  3. 使用方法正確格式化這兩種類型的對象以供顯示)。