¿Hacer referencia a campos no estáticos de funciones estáticas y viceversa es imposible?

Quiero determinar mediante programación el espacio que tengo para algunos controles que quiero crear dinámicamente. Por lo tanto, quiero obtener la altura del contenedor y dividirla por el número de filas (una constante).

Tengo esta función (este código es parte del formulario en el que vive el panel llamado dynamicPanel):

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

... lo que me da el error de tiempo de compilación, "* Se requiere una referencia de objeto para el campo, método o propiedad no estática RememberNextGen_CRLogins.CRLoginsMainForm.dynamicPanel '*"

No entiendo lo que está tratando de decirme / lo que quiere.

Si elimino la "estática":

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

... luego obtengo el error en tiempo de compilación, "* Un inicializador de campo no puede hacer referencia al campo, método o propiedad no estática 'TitanNextGen_CRLogins.CRLoginsMainForm.getControlHeightToUse ()' *"

... en la línea indicada abajo:

public partial class CRLoginsMainForm : Form {

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