Frage

Ich bin derzeit ein stilles Druckmodul zu schaffen. Die Stromsteuer Ich verwende ist, es macht Sie sicher, dass der Steuergriff ist bereits (IsHandleCreated) erstellt. Ich tat alles, was das überhaupt ohne Glück zu betrügen.

Haben Sie Ideen im Kopf haben, wie kann ich einen Handle für das Steuerelement erstellen, ohne dass auf dem Bildschirm angezeigt wird?

War es hilfreich?

Lösung

Versuchen CreateParams Eigenschaft Getter zu überlasten. In den WS_VISIBLE Flag löschen.

Andere Tipps

Sie haben die , um Griff Eigenschaft (das Ergebnis in einem Dummy-Variablen oder etwas). Schauen Sie in Reflector; zwingt es Schöpfung zu behandeln.

Ich hatte das gleiche Problem mit einigen anderen Kontrollen und verwendet, um die Control.CreateControl() Methode:

private void CheckForExistingHandle(Control control)
{
    if (!control.IsHandleCreated)
        control.CreateControl();
}

Aber ich weiß nicht, wie es mit einem Druckmodul funktioniert.

Ich löste dieses lästige Griff Erstellung Problem durch Einstellungen der WS_VISIBLE von CreationParams. Sie können entweder die CreationParams Eigenschaft Kontrolle außer Kraft setzen oder die Createmethode mit einer geeigneten CreateParams Instanz aufrufen. Sehen Sie sich die Link rel="nofollow

Private Methode Create Aufruf wird die Arbeit tun.

MethodInfo ch = frm.GetType().GetMethod("CreateHandle", BindingFlags.NonPublic | BindingFlags.Instance);
ch.Invoke(frm, new object[0]);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top