Referenciando campos não estáticos de funções estáticas e vice-versa é impossível?

Eu quero determinar programaticamente o espaço que tenho para alguns controles que eu quero criar dinamicamente. Então, eu quero pegar a altura do contêiner e dividi-lo pelo número de linhas (uma constante).

Eu tenho essa função (esse código é parte do formulário no qual o painel chamado dynamicPanel reside):

private static int getControlHeightToUse() {
  return (dynamicPanel.Height / NUMBER_OF_ROWS);
}

... o que me dá o erro em tempo de compilação, "* Uma referência de objeto é necessária para o campo não estático, método ou propriedade RememberNextGen_CRLogins.CRLoginsMainForm.dynamicPanel '*"

Eu não entendo o que está tentando me dizer / o que quer.

Se eu remover o "estático":

private int getControlHeightToUse() {
  return (dynamicPanel.Height / NUMBER_OF_ROWS);
}

... Eu então recebo o erro de tempo de compilação, "* Um inicializador de campo não pode referenciar o campo, método ou propriedade não-estático 'TitanNextGen_CRLogins.CRLoginsMainForm.getControlHeightToUse ()' *"

... na linha indicada abaixo:

public partial class CRLoginsMainForm : Form {

  int controlHeight = getControlHeightToUse(); // <-- err