Odwoływanie się do pól niestatycznych z funkcji statycznych i odwrotnie jest niemożliwe?

Chcę programowo określić przestrzeń, jaką mam dla niektórych kontrolek, które chcę tworzyć dynamicznie. Chcę więc uzyskać wysokość kontenera i podzielić ją przez liczbę wierszy (stałą).

Mam tę funkcję (ten kod jest częścią formularza, na którym mieszka panel o nazwie dynamicPanel):

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

... co daje mi błąd kompilacji, "* Wymagane jest odwołanie do obiektu dla pola, metody lub właściwości niestatycznej RememberNextGen_CRLogins.CRLoginsMainForm.dynamicPanel '*"

Nie rozumiem, co próbuje mi powiedzieć / czego chce.

Jeśli usunę „statyczny”:

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

... Następnie otrzymuję błąd czasu kompilacji, "* Inicjator pola nie może odwoływać się do niestatycznego pola, metody lub właściwości 'TitanNextGen_CRLogins.CRLoginsMainForm.getControlHeightToUse ()' *"

... we wskazanej linii poniżej:

<code>public partial class CRLoginsMainForm : Form {

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

questionAnswers(2)

yourAnswerToTheQuestion