2016-09-25 5 views
0

나는 수업 및 상속성 제작에 대한 교육을 받았습니다. 이제 printbase 메소드가 내 코드에서 작동하지 않는 문제에 직면 해 있습니다. 라벨 텍스트는 내가 한 실수가 무엇이든지 변경되지 않습니다. 이 코드가 작동하는 방식은 새 개가 combobox 항목을 기반으로 이름을 가진 새 개를 만드는 방법입니다. 그래서 이름을 사용하고 숫자를 생성하고 bark라는 특정 메서드를 호출합니다. 그러면 해당 버튼을 클릭해야합니다. 방법을 인쇄 기지 및 레이블의 텍스트를 변경하지만 작동하지 않습니다. 어떤 아이디어?C# 레이블 텍스트가 붙어

public partial class Form1 : Form 
{ 
    class animal : Form1 
    { 
     public string name; 
     public int age; 
     public string action; 
     public void printbase(string whatname, int whatage, string whataction) 
     { 
      namelabel.Text = whatname; 
      agelabel.Text = whatage.ToString(); 
      actionlabel.Text = whataction; 
     } 
    } 
    class dog : animal 
    { 
     public string dogaction; 
     public void bark() 
     { 
      dogaction = "wuff"; 
     } 

     public void newdog() 
     {    
      Random x = new Random();    
      string names; 
      names = dogscombo.Text; 
      dog hey = new dog(); 
      hey.name = names; 
      hey.age = x.Next(1,10); 
      bark(); 
      hey.action = dogaction; 
      printbase(hey.name, hey.age, hey.action); 

     } 
    } 

    public Form1() 
    {   
     InitializeComponent(); 
    }   
    private void getbutton_Click(object sender, EventArgs e) 
    { 
     switch (dogscombo.SelectedIndex) 
     { 
      case (0): 
       dog u = new dog(); 
       u.newdog();         
       break; 
     } 
    } 
} 
+0

클래스 이름은 혼란,하지만 당신은 * 새 * 개 (양식) 제작하고 있기 때문에, 변경 사항이 내가해야했다 당신이 – Sayse

답변

0

클래스 개를 상속하는 것보다 독립적 인 클래스 동물을 만들어야합니다. 귀하의 경우, 클래스 동물은 Form1 클래스를 기반으로합니다. 따라서 프로그래머는 새로운 양식을 작성하지만 사용자에게 표시하지는 않습니다. t intend to create new form, don을 사용하지 않는 경우 Form1 클래스는 animal 클래스의 기본 클래스입니다. 의도한다면, 메소드를 호출하여 새로 작성된 양식을 사용자에게 표시하십시오. 이 코드는 작동합니다

private void getbutton_Click_1(object sender, EventArgs e) 
    { 
     switch (dogscombo.SelectedIndex) 
     { 
      case (1): 
       dog u = new dog(); 
       u.newdog(); 
       u.Show(); 
       break; 
     } 

    } 
+0

을보고있는 형태에 적용되지 않습니다 콤보 박스와 라벨을 사용할 수 있도록 양식 1로 링크 클래스 동물. –

+0

좋아, 내가 몇 가지 코드를 추가, 지금은 작동합니다. 이 작은 수정을 추가하십시오 – Alexander

+0

콤보 중 하나만 선택하면 코드에서 처리됩니다 – Alexander

관련 문제