2017-09-16 2 views
1

Ich möchte nur zufällige Rechtecke auf dem Formular auf form1 Click Event zeichnen. Was meine Form verursacht auf seine volle Größe nicht geladen werden, zum Beispiel ich es eingestellt 800x600 und sein, wenn ich das Programm starten sieht es wie folgt aus: form1winform wird beim Zeichnen nicht auf die volle Größe geladen

Auch sie kann ich nicht die Größe, wenn ich versuche, es zu tun Form flackert nur.

Ich zeichne nur in Paint-Ereignis und auf Klick ungültig, ist dieser Code im Allgemeinen falsch? Ich weiß, was es überschreibt und es erfrischend, bevor es laden, sorry für diesen Anfänger Frage, aber ich konnte die Antwort nicht überall

public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void Form1_Paint(object sender, PaintEventArgs e) 
    { 
     Graphics g = e.Graphics; 
     Random rand = new Random(); 
     int pos = rand.Next(0, 100); 

     Rectangle rect = new Rectangle(pos, pos, 50, 50); 
     Pen pen = new Pen(Color.Green, Width = 2); 
     g.DrawRectangle(pen, rect); 
    } 

    private void Form1_Click(object sender, EventArgs e) 
    { 
     Invalidate(); 
    } 

Designer Code: Grundsätzlich initialisieren nur Komponente und klassische override void oben entsorgen.

private void InitializeComponent() 
    { 
     this.SuspendLayout(); 
     // 
     // Form1 
     // 
     this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 
     this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 
     this.ClientSize = new System.Drawing.Size(630, 522); 
     this.Name = "Form1"; 
     this.Text = "Form1"; 
     this.Load += new System.EventHandler(this.Form1_Load); 
     this.Click += new System.EventHandler(this.Form1_Click); 
     this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form1_Paint); 
     this.ResumeLayout(false); 

    } 

Antwort

1

Problem ist dies: "Pen Stift = new Pen (Color.Green, Width = 2);" Er setzt Width des Formulars 2. Sie können es schreiben als:

Pen pen = new Pen(Color.Green, width: 2); 

oder nur

Pen pen = new Pen(Color.Green, 2); 
+0

Oh wow ich jetzt für diesen Fehler dumm fühlen, ich danke Ihnen sehr – dankobgd

+0

ich es nicht sehen Entweder mussten Zeilen nacheinander kommentiert werden, um es zu finden. –

Verwandte Themen