2016-04-02 23 views
0

Nicht sicher, ob dies die Standardmethode zum Erstellen eines Formulars und zum Öffnen ist, aber der Code unten zeigt das Formular richtig an. Mein Problem ist, dass ich seine Größe nicht programmatisch ändern kann. Ich vermute, es hat mit dem Geltungsbereich zu tun, "main" erstellt das Formularobjekt, aber ich möchte es in dem Bereich ändern, in dem es tatsächlich initialisiert wird (anstatt in der Registerkarte [Design] von MS Studio) aber ich kann das Objekt nicht finden!Ändern der Größe von C# Windows Form

main.cs: 
class MainProgram 
{ 
    static void Main(string[] args) 
    { 
     // Create Form Object and Open Gui for user 
     MainForm newFrm = new MainForm(); // Mainform is type Systems.Windows.Forms.Form 
     Application.Run(newFrm); 
    } 
} 

formFile.cs: 
public partial class MainForm : Form 
{ 
    public MainForm() 
    { 
     InitializeComponent(); 
     //TODO: How to Resize Form from here? 
     //this.Size.Height = 100; // ERROR! 
    } 
} 

Antwort

1

Sie konnten die Größe mit diesem Code ändern

this.Size = new System.Drawing.Size(this.Size.Width, 100); 

Größe ein Struct ist keine Klasse. Dies bedeutet, dass es sich um einen Werttyp handelt. Wenn Sie versuchen, eine seiner Eigenschaften zu ändern, zwingen die Regeln der Sprache den Compiler, eine Kopie der ursprünglichen Struktur zu erstellen, und Sie ändern die Eigenschaft der Kopie nicht der ursprünglichen Struktur.

Weitere Details unter MSDN

Choosing between Class and Struct

+0

Arbeitete super! Ich versuche immer noch, mein Denken von den alten vb6-Tagen abzubringen! – ben

0

Die Art und Weise Sie ändern Form Größe, es ist falsch. Sie sollten System.Drawing.Size

using System.Drawing; 

public partial class MainForm : Form 
{ 
    public MainForm() 
    { 
     InitializeComponent(); 
     this.Size = new Size(this.Size.Width, 100); 
    } 
}