Question

Pour les tâches qui prendront plus de quelques secondes, une bonne interface utilisateur, à mon avis, devrait fournir une barre de progression ainsi que des informations appropriées sur les progrès de l'opération. (Microsoft Veuillez fournir Interface Guidelines utilisateur sur ce sujet, mais je veux un panneau d'état qui est un peu plus avancé.)

La « tâche » classe J'utilise est capable de connecter des messages, et si les messages sont suffisamment importants (avertissement ou erreur), je voudrais les afficher sur le panneau de progression. Il serait également agréable avec une indication graphique lorsque des avertissements ou des erreurs ont eu lieu (une icône d'avertissement ou une erreur peut-être). S'il y a beaucoup de ces messages, une zone de texte, une vue de liste ou peut-être quelques contrôle du rapport pourrait être approprié ici.

Il pourrait y avoir un bouton d'annulation alors que la tâche est en cours d'exécution, et une fois la tâche terminée, un bouton « Voir journal » serait aussi bien.

Pour résumer, j'ai une bonne idée de mettre en œuvre mon panneau d'état, mais je voudrais vraiment comme une entrée sur ce point. Ai-je manqué quelque chose d'important? Est-ce que je vais trop loin à ce sujet? Y at-il peut-être des éléments comme celui-ci sont déjà là-bas?

Était-ce utile?

La solution

Pour l'enregistrement, vous devriez probablement en fait un autre niveau plus élevé d'erreur. Ce sont généralement les je mets en œuvre les niveaux (comme chipé de l'arrière DEC en les années 80).

  1. DEBUG -. Un message très faible prioity que le développeur vient de mettre pour aider à diagnostiquer ce qui se passe dans le cas où quelque chose se dérègle
  2. INDICATIF -. Pas de problème, les rapports que les progrès que l'utilisateur pourrait être intéressé par
  3. AVERTISSEMENT -. Quelque chose qui pourrait peut-être un problème dans certaines situations, mais peut aussi être très bien
  4. ERREUR - Un problème défini. doit être informé à l'utilisateur, mais le programme va essayer de continuer.
  5. FATAL -. Un problème si mauvais que le programme ne peut pas continuer

La seconde est, puisque vous appelez cela un « panneau de progression », je suppose que vous avez décidé de mettre en œuvre une sorte de barre de progression. Il a été fait un peu juste de la recherche sur barres de progression . La chose principale est que, quoi que vous fassiez, ne laissez pas la barre plus lente obtenir à mesure qu'elle progresse. Cela fait, il semble s'éterniser.

Enfin, il semble que vous envisagez une sorte de ligne de message d'état. Si vous êtes à la recherche de quelques bons messages d'état, je vous suggère d'utiliser certains des ces . : -)

Autres conseils

Vous avez ici un similaires spécifications du panneau d'état qui peut vous donner des idées sur ce qui pourrait être inclus dans ce genre de GUI:

En sorte, définir vos objectifs et la portée du panneau d'état avant d'énumérer les détails de conception.

Remarque: avec des options trop sur elle, vous évoluerez dans un « Panneau de configuration »; -)

Vous voulez voir les messages de journal tout en cours, pas seulement à la fin. Si un bogue se produit, il va souvent être avant la tâche est accomplie, et l'interface utilisateur pense que tout est encore cahin-caha. Il peut être vraiment gênant de trouver ce qui se passe, et pourtant le seul message du journal visible (sans aller à un certain fichier externe quelque part) est un certain message d'information aléatoire loin du problème réel.

(je ne sais pas si faire vous déjà, car il ne sait pas de votre question. Si vous êtes, chapeau.)

Je pense qu'il est important que votre barre de progression remplir exactement une fois, et il y a toujours une indication des progrès.

Je l'ai fait tout récemment quelque chose de très semblable au travail. Les tâches étaient longues, avec de nombreux sous-tâches. L'interface j'ai fini avec était un double barre de progression, qui était en fait le premier et le dernier d'une pile de barres de progression.

L'API est quelque chose comme

StartNewTask(Caption,NumberOfSubtasks)
EndTask 
SetProgress(Caption,NumberOfSubtasksFinished)

StartNewTask pousse une nouvelle barre sur la pile, et une EndTask pops.

setProgress définit les progrès du plus récemment poussé la barre de progression, et les ondulations des changements aux barres parents. Par exemple:

StartNewTask('Doing 2 things',2)
 SetProgress('Done 1 now',1)
 StartNewTask('Big Subtask',40)
  ...
  SetProgress('Done some subtasks',10)

Maintenant, il existe 2 barres de progression montré, le second à 25% (10/40) et le premier à 62,5% (1/2 + 10/40 * 2)

Comme je l'ai dit plus haut, si vous avez> 2 tâches dans la pile, je montre que la première et la dernière (première donne les progrès d'ensemble et ne va jamais en arrière, seconde donne une indication de l'activité actuelle)

Vous pouvez étendre cela en donnant une pondération à chaque sous-tâche, i.e..

StartNewTask(Caption,[ListOfSubTaskWeightings])

Pour rendre le plus lisse haut de la barre de progression.

En outre, les développeurs peuvent afficher tous les barres de progression pour voir pourquoi il faut les âges, et je pense que vous pourriez faire des journaux décents hors de celui-ci.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top