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):
private static int getControlHeightToUse() {
return (dynamicPanel.Height / NUMBER_OF_ROWS);
}
... 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”:
private int getControlHeightToUse() {
return (dynamicPanel.Height / NUMBER_OF_ROWS);
}
... 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:
public partial class CRLoginsMainForm : Form {
int controlHeight = getControlHeightToUse(); // <-- err