c# Applikation gleich verhalten lassen wie Bildschirmtastatur

  • C#

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von NoIde.

    c# Applikation gleich verhalten lassen wie Bildschirmtastatur

    Gibt es eine Möglichkeit, dass die Applikation nicht den Fokus einer anderen Applikation stielt und man trotzdem Buttons klicken kann.
    Auch soll die Applikation immer TopMost = true haben.
    Das gleiche Verhalten wie bei der Bildschirmtastatur.

    Die Lösungen, welche ich bisher fand, behandeln nur das öffnen der Applikation und nicht das bedienen dieser.
    Füge das in die Klasse deiner Form hinzu:

    VB.NET-Quellcode

    1. Const WS_EX_NOACTIVATE = &H8000000
    2. Const WS_EX_TOPMOST = &H8
    3. Protected Overrides ReadOnly Property CreateParams() As CreateParams
    4. Get
    5. Dim param As CreateParams = MyBase.CreateParams
    6. param.ExStyle = param.ExStyle Or WS_EX_NOACTIVATE Or WS_EX_TOPMOST
    7. Return param
    8. End Get
    9. End Property

    Wenn die Form nicht den Fokus hat(hat sie nach Form_Load), lässt sich die Form zwar verschieben, sie springt aber beim MouseUp zum Cursor, vllt. sieht ja Jemand warum es so ist und teilt uns den korrekten WindowStyle mit. Ich hatte es mit eine abgeleiteten Form gelöst, wo ich das verschieben von Hand machte.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „NoIde“ ()

    NoIde schrieb:

    sie springt aber beim MouseUp zum Cursor
    Das Formular springt positionstechnisch zum Cursor? Oder der Fokus? Letzteres wär ja Sinn der Sache. Ersteres kann ich nicht bestätigen. Probiert (mit Drag&Drop) auf nem Surface. Den Focus hatten: dieser vb-paradise-Beitrag, das Ausführen-Fenster von Windows 10 oder eine .Net-App von mir.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.
    Also nachdem die App gestartet wurde hat das Formular noch den Fokus, so lässt sich das Formular noch ganz normal verschieben, also das Formular bewegt sich entsprechend mit dem Cursor. Nachdem einmal der Fokus weg ist, kann die Form diesen nicht wieder bekommen, wenn man nun das Formular verschiebt, bleibt das Formular solange der LMB gedrückt ist beim Verschiebevorgang an Ort und Stelle, nach dem LMB-Up springt das Formular dann zum Cursor, was nicht so schön ist.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „NoIde“ ()

    Habe Caret mit (Maus)Cursor in einen Fingerhut geworfen. :whistling:
    Aber kann ich immer noch nicht nachvollziehen. Sobald das Fenster den Fokus verloren hat, kann ich es per Touchscreen, Touchpad und Maus ganz normal hin und herziehen. Da springt nix. Das Fenster folgt dem Mauscursor sofort. Oder hab ich da immer noch nicht kapiert, was das Problem ist?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.
    Habe eben noch ein Video aufgezeichnet auf dem das zu sehen ist. @VaporiZed Bei mir läuft das auf Win7 mit VS2010 und FW4.
    https://www1.xup.in/exec/cfxddl.php?fid=69706633&fname=Desktop_03.13.2018.mp4

    Video direktlink
    "https://www1.xup.in/exec/cfxddl.php?fid=69706633&fname=Desktop_03.13.2018.mp4"

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „NoIde“ ()

    Da kontere ich mit nem eigenen Video :P
    mmh... entweder bin ich zu doof für ne mp4->gif-Umwandlung oder ... ach egal, dann eben als zip. Fremd-Uploads und Verlinkung sind nicht so meins.
    Win10-64bit; bestimmt ne Windows-Einstellung. Andere Fenster werden beim Verschieben bei Dir normal mitgezogen, richtig?

    @NoIde: Ich vergaß: VS 2017 CE, Version 15.6.2, FW 4.6.1; allerdings auch mit FW 4.5 alles i.O.

    bzw: Alles recht off-topic, oder? Moderatoren, was meint Ihr?
    Dateien
    • Untitled.zip

      (460,18 kB, 8 mal heruntergeladen, zuletzt: )
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()

    Also Fenster werden normal mitgezogen. Ist nur dieses eine Formular welches aus der Reihe tanzt. Habe gerade auch mit VS2013 und FW4.5 getestet, selbes Phänomen. Damals hatte ich es nur hinbekommen indem ich eine abgeleitete Form nutze, in der ich das verschieben selbst regelte.

    Vllt. liegt es am OS oder FW.