2016-04-28 169 views
-2

如何判斷單選按鈕是否已選中並在切換中執行某些操作?這是我的代碼部分:枚舉和單選按鈕

這是在我的課Person.cs

public enum TypeTimer { Unlimited, Countdown, Limited} 

這是我在那裏交換我會把功能

public Person(TypeTimer s1) 
     { 
      switch (s1) 
     { 
      case TypeTimer.Unlimited: 
       (code here) 
       break; 

      case TypeTimer.Countdown: 
        (code here) 
        break; 
      case TypeTimer.Limited: 
        (code here) 
        break; 
      default: 
        break; 
     } 
     } 

如何判斷是否選中= = true等於枚舉有限還是無限或倒數?

這是Form.cs

private void button1_Click(object sender, EventArgs e) 
     { 
      if (rbtnNormalTimer.Checked == true) 
      { 

      } 
      else if(rbtnCountDown.Checked == true) 
      { 

      } 
      else if(rbtnLimited.Checked == true) 
      { 

      } 
     } 

例如:如果rbtnLimited檢查我想執行是在TypeTimer.Limited 在交換機內部是否有人可以幫助我的代碼?

+0

不知道你在問什麼。你擁有一切。只需在每種情況下將相應的枚舉值發送給您的類構造函數即可。 – dotNET

回答

3

你可以使用適當的枚舉如下呼叫的人的方法/構造函數:

Person person; 
if (rbtnNormalTimer.Checked == true) 
{ 
    person = new Person(TypeTimer.Unlimited); 
} 
else if(rbtnCountDown.Checked == true) 
{ 
    person = new Person(TypeTimer.Countdown); 
} 
else if(rbtnLimited.Checked == true) 
{ 
    person = new Person(TypeTimer.Limited); 
} 
+0

人不是一個功能! – dotNET

+0

@dotNET已經做了編輯,我發佈後自己看了一下 – SynerCoder

+0

你怎麼調用構造函數? – dotNET

0

。希望public Person(TypeTimer s1)將是:

private void button1_Click(object sender, EventArgs e) 
{ 
    if (rbtnNormalTimer.Checked == true) 
    { 
     Person(TypeTimer.Unlimited); 
    } 
    else if(rbtnCountDown.Checked == true) 
    { 
     Person(TypeTimer.Countdown); 
    } 
    else if(rbtnLimited.Checked == true) 
    { 
     Person(TypeTimer.Limited); 
    } 
} 

在構造函數的情況下,按如下方式使用它Person類的構造函數,並且您希望根據單選按鈕的選擇創建新的人員對象,以下代碼將幫助您完成該工作;如果沒有,那麼你可以調用的方法一樣,直接Person(TypeTimer.Unlimited)這個時候不要忘了在方法簽名中添加有效的返回類型:

private void button1_Click(object sender, EventArgs e) 
{ 
    Person p; 
    if (rbtnNormalTimer.Checked) 
    { 
     p= new Person(TypeTimer.Unlimited) 
    } 
    else if (rbtnCountDown.Checked) 
    { 
     p= new Person(TypeTimer.Countdown) 
    } 
    else if (rbtnLimited.Checked) 
    { 
     p= new Person(TypeTimer.Limited) 
    } 
    // proceed with p 
} 
0

我讓通常與控制的標記屬性。檢查一個控件後,我得到它的標籤屬性,並使其像

TypeTimer enu; 
Enum.TryParse((sender as RadioButton).Tag, out enu); 
Switch(enu) 
     { 
      case TypeTimer.Unlimited: 
       (code here) 
       break; 

      case TypeTimer.Countdown: 
        (code here) 
        break; 
      case TypeTimer.Limited: 
        (code here) 
        break; 
      default: 
        break; 
     }