Also, ich habe ein C#-Projekt für Windows Mobile-Telefone und ich versuche, mit dem InputPanel zu arbeiten. Insbesondere habe ich ein Formular mit einem Stapel von Labels und TextBoxen, die Benutzereingaben zu sammeln. Ich habe ein InputPanel, das mich benachrichtigt, wenn der Benutzer die SIP öffnet. Bis jetzt funktioniert alles gut. Wenn ich Nachrichten erhalte, dass der SIP-Status geändert hat, möchte ich die Höhe des Formulars ändern, was nicht möglich zu sein scheint.
Hier ist mein Event-Handler für mein InputPanel:
void m_InputPanel_EnabledChanged(object sender, EventArgs e)
{
// :( this assignment operation doesn't work and it doesn't
this.ClientSize = inputPanel1.VisibleDesktop.Size;
// doesn't work
this.Size = inputPanel1.VisibleDesktop.Size;
// assignment operation works, but isn't very useful
this.visibleHeight = inputPanel1.VisibleDesktop.Height;
this.InitializeUI();
}
Wenn ich sage, dass die Zuweisungsoperation nicht funktioniert, meine ich, dass sich die Werte im Debugger nicht ändern. Ich kann verstehen, dass ich vielleicht die Größe eines Formulars nicht ändern kann, aber ich kann nicht verstehen, warum der Versuch, es zu ändern, keine Ausnahme auslöst oder einen Compilerfehler verursacht.
Ich habe mein Formular WindowState auf Normal anstelle von Maximized eingestellt, aber es macht keinen Unterschied.
Außerdem habe ich gelesen http://www.christec.co.nz/blog/archives/42 diese Seite, die mir sagt, wie ich dies tun soll, aber ich kann nicht einfach alle meine Steuerelemente in einem Panel, weil ich mit einer Reihe von benutzerdefinierten Sachen zu tun Alpha-Hintergrund-Steuerelemente.