2016-04-11 6 views
0

Ich arbeite an einigen Schularbeiten und frage mich, ob Sie das Problem lösen könnten. Ich habe meinen form.cs Code und meine Klasse apple.cs (einige Schlangenfruchtgeneration) Ich habe gewählt, dass mein Apfel zufällig accros die Formbreite/-höhe wird, aber wenn ich diese Form verändere, Spawnt es innerhalb alt "Grenzen" der Form.C#: Die in der Klasse verwendete Formularbreite wird nicht aktualisiert, wenn das Formular in der Größe geändert wird

Kann ich es irgendwie neu laden?

class Apple { 
    Random nc = new Random(); 
    Form1 hl; 
    //Properties 
    public Color Color { get; set; } 
    public Size Size { get; set; } 
    public Point Pt { get; set; } 
    //constructors 
    public Apple() 
    { 
     hl = new Form1(); 
     int s = 10; 
     this.Color = Color.Red; 
     this.Size = new Size(s,s); 
     this.Pt = new Point(nc.Next(s,hl.panel1.Width-(2*s-1)),nc.Next(s,hl.panel1.Height-(2*s-1))); 
    } 
    //methods 
    public void drawOutPoint(Graphics kp) 
    { 
     kp.FillRectangle(new SolidBrush(Color), new Rectangle(Bod, Size)); 
    } 
} 

Vielen Dank!

Antwort

0

, oder Sie können diese

public Apple(double width,double height) 
{ 
\\your code and assign the values 
} 

versuchen und in der Form, die Sie definieren das Objekt

apple ap=new applw(this.width,this.height); 
+0

Danke du bist das Beste :)! –

+0

Sie sind herzlich willkommen wünschen Ihnen das Beste – AnAs51993

0

ließ den Apfel die Breite erhalten und hoch aus dem Formular

double width= this.width; 

und das gleiche gilt für hohe

+0

Habe ich nicht getan Das ? Kannst du bitte etwas mehr erklären :)? –

+0

Okey danke! Ich werde es versuchen. –

+0

Entschuldigung ich schlug Beitrag versehentlich Ich bearbeitete den Beitrag Sie können es Form, was ich zu Methoden eins durch Erstellen von Objekt aus dem Formular Tow von Make-Funktion und rufen Sie es aus dem Formular und geben Sie die Argumente Breite und Höhe – AnAs51993