1

フォームに2つのパネルがあります。そのうちの1つが欲しいのですが、ユーザーがフォームを最大化すると、フォームに応じてパネルも最大化されます。試してみたところ、パネルはフォーム全体に表示され、他のパネルは非表示になっています。これが私のコードです:

public MainForm()
{
  InitializeComponent();

  panel2.Anchor = (AnchorStyles.Bottom | AnchorStyles.Right);
  panel2.Dock = DockStyle.Fill;
  TaskControl t = new TaskControl();
  int x, y;
  x = 0;
  y = 0;
  t.Location = new Point(x, y);
  panel2.Controls.Add(t);
  t.BringToFront();

}

なんとかできました。プロパティからアンカーの値を変更しました。助けてくれてありがとう!

4

2 に答える 2

4

が欲しいようですねsplitcontainer。このコントロールを使用すると、2 つのパネルが得られます。サイズを変更したくないパネルに「fixedpanel」プロパティを設定します。フォームのサイズが変更される (または最大化される) と、他のパネルのサイズが変更されます。

于 2013-03-21T13:31:10.590 に答える
1

初期化だけでなく、Form_Resizeイベントなどでも行う必要があります。たとえば、イベントを処理できます。こちらForm.ResizeEndのリファレンスを参照してください。

于 2013-03-21T12:55:56.267 に答える