2017-10-02 17 views
1

私はプログラム的に別のパネルにパネルを追加するWindowsフォームを作成しています。新しいパネルのさまざまなプロパティ(色やサイズなど)をカスタマイズしようとしています。しかし、マージンを修正しようとすると、何も動作しません。私はThickness構造体を見つけることができません.WPFアプリケーションではないので、Windowsフォームアプリケーションです。パネルの余白を設定するにはどうすればよいですか?

using System.Windows; 

PresentationFrameworkは、デフォルトで参照として含まれていません。

private void buttonAddExercise_Click(object sender, EventArgs e) 
    { 
     Panel panel = new Panel(); 
     panel.BackColor = Color.White; 
     panel.Size = new Size(200, 300); 

     panel.Margin = new Padding(20); 


     listOfExercisePanels.Add(panel); 
     panelNewWorkout.Controls.Add(panel); 
    } 
+0

可能性の重複https://stackoverflow.com/questions/1003772/setting-margin-properties-in-code –

+0

は、私が言ったように、私は厚オブジェクトを見つけるカント、その記事とdidntの仕事をしようとした –

+0

何厚さオブジェクトを見つけることができないことを意味しますか?適切な設定で[Thickness](https://msdn.microsoft.com/en-us/library/system.windows.thickness.aspx)オブジェクト(実際には構造体)を作成し、それを図のように余白に割り当てますリンクに – PaulF

答えて

0

がために参照する "PresentationFramework.dll"、

とusingステートメントを追加します。ここに私のコードです。

+2

これはWPFです...質問はWinFormsです。 – DonBoitnott

0

まず

あなたのプロジェクトの.NETフレームワークのプラットフォーム バージョンが.NET Framework 4.5に変更/作成する必要がありThickness使用するように。 4.5

唯一のバージョンでは、この方法が利用できるため、第二に

あなたに子供のコンポーネントのFillDockスタイルを追加する必要があります:あなたがしたい場合

Panel panel = new Panel(); 
     panel.BackColor = Color.White; 
     panel.Size = new Size(200, 200); 

     Label lb = new Label() { Text = "Hello" }; 

     panel.Padding = new Padding(10); 
     lb.Dock = System.Windows.Forms.DockStyle.Fill; 

     panel.Controls.Add(lb); 

     this.Controls.Add(panel); 

第三

パネルの余白を変更するには、パネルの余白をNotherの親パネル

関連する問題