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>