2016-04-02 19 views
0

これがフォームとオープニングを作成する標準的な方法であるかどうかは不明ですが、以下のコードはフォームを適切に表示します。私の問題は、プログラムのサイズを変更できないということです。私はそれが範囲と関係があると推測している、 "メイン"は、フォームオブジェクトを作成しますが、実際に(MS Studioの[デザイン]タブではなく)初期化されるスコープでサイズを変更したいと思いますしかし、私はそれにオブジェクト/ハンドルを見つけることができません!C#Windowsフォームのサイズ変更

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! 
    } 
} 

答えて

1

あなたはこのコードでサイズを変更することができ

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

サイズが構造体ではないクラスです。つまり、値型です。そのプロパティの1つを変更しようとすると、言語の規則によってコンパイラーは元の構造のコピーを作成し、元の構造ではなくコピーのプロパティを変更します。 MSDN

Choosing between Class and Struct

+0

素晴らしい!まだ古いvb6日間から私の考えを変えようとしている! – ben

0

方法で

詳細はあなたはそれが間違っているフォームのサイズを変更しています。あなたは使用する必要がありますSystem.Drawing.Size

using System.Drawing; 

public partial class MainForm : Form 
{ 
    public MainForm() 
    { 
     InitializeComponent(); 
     this.Size = new Size(this.Size.Width, 100); 
    } 
} 
関連する問題