Frage : ESC-Schlüssel ermitteln, VSTO einzudrücken

Grüße, das

I morgens Excel entwickelnd, das in VSTO Erweiterungs ist und ich sind nicht imstande, zu lösen das Problem der Entdeckung, wenn der Benutzer die TASTE ESCescape-taste geschlagen hat.  Sind hier die Details:

The Anwendung erlaubt einem Benutzer, Massendaten in einen Verteilungsbogen für verschiedene Spalten zu befestigen.  Der Benutzer klickt dann einen „UPDATE“ Knopf auf dem Band der Gewohnheit VSTO.  Die Anwendung dann liest jede Reihe der Verteilungsbogendaten und vermittelt diese Informationen zu einem Hintersystem und währenddessen aktualisiert die Verteilungsbogenreihe mit einem „ERFOLGS-“ oder „STÖRUNGS“ Status.  

The Problem, das ich habe, ist, dass ich dem Benutzer die Fähigkeit geben möchte, von dieser Verarbeitungsschleife auszubrechen, indem ich die TASTE ESCescape-taste schlug.  Aber das Leben von mir, den ich dieses out.

In VBA, ein einfaches DoEvents nicht darstellen kann innerhalb der Schleife, würde die Schleife zulassen beendet zu werden, als der Benutzer die TASTE ESCescape-taste schlug.  Kein solches Glück in VSTO wie dem Prozess hält gerade, bis es getan hat, unabhängig davon alle mögliche Tasten entlang zu tuckern, die pressed.

Any Rat sind, oder Vorschläge würden groß appreciated.

Regards,
Rob
sein

Antwort : ESC-Schlüssel ermitteln, VSTO einzudrücken

Barsham,

Vor dem Sehen Ihres Vorschlags, wurde ich herauf gerade das im Allgemeinen tun fertig.  Ich verursachte eine Windows-Popup- Form, die einen Knopf hatte, den, der Benutzer anklicken könnte, wenn sie zu verarbeiten stoppen möchten.  Dieses war die einzige Weise, dass ich den Excel-Prozess unterbrechen könnte.  

So sobald der Benutzer den „UPDATE“ Knopf auf dem Bandstab schlägt, zeige ich diese Popup- Form an.  Wenn die Verarbeitung ungehindertes abschließt, schließt die Form automatisch.  Jedoch wenn der Benutzer den „ANSCHLAG schlägt, der“ Knopf auf dieser Popup- Form VERARBEITET, bin ich in der Lage, eine globale Markierungsfahne gefangenzunehmen und zu ändern, die innerhalb der Hauptupdateprozeßschleife überprüft wird.

Rob
Weitere Lösungen  
 
programming4us programming4us