Ответ 1
Поместите панель в центр формы с помощью конструктора, а затем очистите свойство Anchor
, чтобы оно не привязалось к какому-либо ребру. Это сохранит его в центре, когда форма изменится, без изменения размера панели.
Если по какой-то причине вам нужно будет поместить панель в код (в зависимости от того, что происходит при загрузке формы, например), вы можете сделать что-то вроде этого:
// code for initializing the panel and setting
// its size goes here
_thePanel.Location = new Point(
this.ClientSize.Width / 2 - _thePanel.Size.Width / 2,
this.ClientSize.Height / 2 - _thePanel.Size.Height / 2);
_thePanel.Anchor = AnchorStyles.None;
Это должно позаботиться о большинстве сценариев, я думаю.