C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 144 を表示中)
■84272 / )  Re[1]: PanelクラスのPuddingプロパティについて
□投稿者/ 魔界の仮面弁士 (1314回)-(2017/06/06(Tue) 21:44:00)
No84271 (こんた さん) に返信
> PanelクラスのPuddingプロパティについて
> panelのpuddingプロパティを 10 に設定した後に
Padding (詰め物)が
Pudding (プリン)に…。(^^;

それと、大文字小文字の違いも留意した方が良いですよ。
VB であれば同一視されますが、C# では別物として扱われます。


> 追加したコントロールのサイズは変えずに、locationを (10, 10)になるようにしたいです。
2 つ目以降のコントロールの座標をどうするのかが気になるところですが、それはさておき。

Padding は、子コントロールの Dock プロパティが設定されていた場合に影響を与えます。
DockStyle.None の場合は個別に座標指定が必要です。


対処方法としては:

(案1) Panel からではなく、FlowLayoutPanel から継承させるようにする。

class myPanel : FlowLayoutPanel
{
 //
}


(案2) myPanel の OnControlAdded メソッドをオーバーライドして座標を調整する。

protected override void OnControlAdded(ControlEventArgs e)
{
  if(e.Control.Dock == DockStyle.None)
  {
    e.Control.Location = new Point(Padding.Left, Padding.Top);
  }
  base.OnControlAdded(e);
}

返信 編集キー/


管理者用

- Child Tree -