2017-01-27 1 views
0

Ich entwerfe eine ZeitklasseWie Werte von Feldern einer Klasse (Objekt) in Formularklasse ändern

` class Time_Class 
    { 
     private int minute; 
     private int second; 
     private int hour; 

     //Default constructor 
     public Time_Class() 
     { 
      this.minute = 0; 
      this.second = 0; 
      this.hour = 0; 
     } 

     //Constructor overload 
     public Time_Class(int mm, int ss, int hh) 
     { 
      this.minute = mm; 
      this.second = ss; 
      this.hour = hh; 
     } 

     //Method for setting time 
     public void Set_Time(int mm,int ss,int hh) 
     { 
      this.minute = mm; 
      this.second = ss; 
      this.hour = hh;  
     } 

     //Method of Getting 24 Hour time 
     public string[] Get24Time() 
     { 
      int[] time = new int[3]; 
      time[0] = this.minute; 
      time[1] = this.second; 
      time[2] = this.hour; 

      if (time[1] > 59) 
      { 
       time[1] = 0; 
       time[0] += 1;   
      } 
      if (time[0] > 59) 
      { 
       time[0] = 0; 
       time[2] += 1; 
      } 
      if (time[2] > 24) 
      { 
       time[0] = 0; 
       time[1] = 0; 
       time[2] = 0; 
      } 

      string[] ret = new string[3]; 
      ret[0] = time[0].ToString(); 
      ret[1] = time[1].ToString(); 
      ret[2] = time[2].ToString(); 

      return ret;   
     } 

     //Method of Getting 12 Houur time 
     public string[] Get12Time() 
     { 
      string ampm = "AM"; 
      int[] time = new int[2]; 
      time[0] = this.minute; 
      time[1] = this.second; 
      time[2] = this.hour; 

      if (time[1] > 59) 
      { 
       time[1] = 0; 
       time[0] += 1; 
      } 
      if (time[0] > 59) 
      { 
       time[0] = 0; 
       time[2] += 1; 
      } 
      if (time[2] > 12) 
      { 
       time[0] = 0; 
       time[1] = 0; 
       time[2] = 0; 
       if (ampm == "PM") 
       { 
        ampm = "AM"; 
        goto b; 
       } 
       if (ampm=="AM") 
       { 
        ampm = "PM"; 
       } 

      } 
     b: 
      string[] ret = new string[3]; 
      ret[0] = time[0].ToString(); 
      ret[1] = time[1].ToString(); 
      ret[2] = time[2].ToString(); 
      ret[3] = ampm; 

      return ret;   
     } 

`

Ich möchte ein Objekt dieser Klasse in winform (Form-Klasse erstellen) und möchten die Werte von Klassen - (Objekt -) Feldern beim Timer - Tick - Ereignis ändern.

Ich mag das.

Aber in Timer-Tick, Objekt dieser Klasse ruft nicht, die ich außerhalb des Timer Tick definieren.

Wie ich ein Objekt dieser Klasse in Timer-Tick aufrufen und die Werte von Feldern dieser Klasse (Objekt) ändern.

+0

Bitte sehen Sie die 'else' und' sonst if' Steuerflussrechnung und entfernen, dass ' – pinkfloydx33

+0

goto' Ja, es Windows-Formular-Timer und seine Eigenschaft enabled ist, falsch, aber ich starte den Timer ein Load Schaumereignis wie 'timer1.Start();' –

+0

@ pinkfloydx33 Ja, ich werde es tun, aber es ist nicht wichtig auf Anforderung. –

Antwort

3

müssen Sie Felder öffentlich machen:

public int minute {get;set;} 
public int second {get;set;} 
public int hour {get;set;} 
+0

Ja. Jetzt ruft das Objekt den Timer-Tick auf. –

Verwandte Themen