2008-10-02 9 views
0

Ich habe ein Formular mit einem Fortschrittsbalken und eine Abbrechen-Schaltfläche, die angezeigt wird, wie ein Prozess ausgeführt wird. Die Eigenschaft "Cancel" der Schaltfläche wird auf "true" gesetzt. Wenn Sie also die Escape-Taste drücken, wird der Vorgang abgebrochen.Verhindern Enter-Taste vom Brennen Schaltfläche klicken sogar in Vb6

Da die Schaltfläche jedoch das einzige Steuerelement auf dem Formular ist, das den Fokus verwenden kann, wird der Benutzer, wenn er versehentlich die Eingabetaste (oder Leertaste) drückt, während der Prozess ausgeführt wird, abgebrochen.

Ich habe die Space Bar von der Arbeit, indem KeyPreview auf true (auf dem Formular) dann KeyAscii auf 0 gesetzt wird verhindert, aber dieser Ansatz deson't scheint für die Enter-Taste als die Taste, um Ereignis ausgelöst wird zuerst zu arbeiten.

Ich habe versucht, die TabStop-Eigenschaft der Schaltfläche auf "false" - keine Änderung.

Antwort

2

eine Standardschaltfläche mit der Größe 1x1 hinzufügen, ohne Beschriftung, ohne Rahmen, usw. einen Handler für sie machen, die nichts tut. Die Escape-Taste führt immer noch einen Abbruch aus wie jetzt.

+0

Ja, fügen Sie ein weiteres Steuerelement hinzu, das nichts tut und inintal konzentrieren muss. – VVS

+0

Ich denke, das beantwortet meine ursprüngliche Frage, um fair zu sein, sollte ich es akzeptieren. Vielen Dank. (Auch wenn Sergio mich gerade überredet hat, gerade etwas zu verändern ;-) –

+0

Wenn Sie diesen Entwurf akzeptieren, hat der Benutzer immer noch die Möglichkeit, auf die Abbrechen-Schaltfläche zu klicken und die Leertaste zum Abbrechen zu drücken. Der Benutzer wird keine Maus benötigen. –

7

Meiner Meinung nach sollte die Eingabetaste die Abbrechen-Schaltfläche aktivieren. Oder möchten Sie, dass der Benutzer nach der Maus greift? Warum?

Ich schlage vor, nur einen Bestätigungsdialog hinzuzufügen, nachdem der Benutzer den Vorgang abgebrochen hat. Wenn also jemand versehentlich die Eingabetaste drückt, kann er mit der Antwort 'nein, ich möchte nicht abbrechen' fortfahren.

Aber als Benutzer würde ich genervt sein, wenn die Schaltfläche Abbrechen den Fokus hat und ich kann es nicht aktivieren, indem ich die Eingabetaste auf meiner Tastatur drücken.

Meine 2 Cent

+0

Yeh - Messepunkt und ein Bestätigungsdialog ist genau was passiert im Moment. Ich werfe auf, was nerviger ist, der Bestätigungsdialog, wenn Sie absichtlich auf Abbrechen klicken oder die Eingabetaste nicht funktioniert. (Denken Sie daran, ESCAPE funktioniert immer noch) –

+0

Was passiert aber, wenn ich versehentlich auf Escape stoße und der Prozess stoppt? Das wäre meiner Meinung nach viel ärgerlicher als der Bestätigungsdialog. Aber ich weiß, dass ich nicht den ganzen Kontext über die Situation habe und dies könnte nicht der Fall sein. Nur ein Gedanke. –

+0

Leute sind an Bestätigungsdialoge gewöhnt. Die erste Regel des UI-Designs besteht darin, ein bekanntes Design zu erstellen. – workmad3

Verwandte Themen