Outils pour utilisateurs

Outils du site


lang:csharp:ihm:commun

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
lang:csharp:ihm:commun [2016/12/02 11:59] – Ajout de "Barre de progression dans la barre des tâches" rootlang:csharp:ihm:commun [2020/04/26 23:27] (Version actuelle) – Conversion de <note> vers <WRAP> root
Ligne 1: Ligne 1:
 +[[lang:csharp:ihm:commun:custom|Personnaliser un composant]]
 +
 =====Affiche un MessageBox sans bloquer la suite du process===== =====Affiche un MessageBox sans bloquer la suite du process=====
 Vive le thread tout simplement. Facilement adaptable à n'importe quelle autre action. Vive le thread tout simplement. Facilement adaptable à n'importe quelle autre action.
Ligne 8: Ligne 10:
 )).Start(); )).Start();
 </code> </code>
 +
 +Pour forcer la MessageBox à rester au dessus de l'application, il faut ajouter le paramètre ''MB_TOPMOST'' :
 +
 +<code csharp>
 +MessageBox.Show("Je ne bloque pas.", "Titre", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, (MessageBoxOptions)0x40000);
 +</code>
 +
 +[[https://stackoverflow.com/questions/24010280/messagebox-on-top-of-splashscreen|messagebox on top of splashscreen]] {{ :lang:csharp:ihm:commun:c_-_messagebox_on_top_of_splashscreen_-_stack_overflow_2020-04-26_11_24_57_pm_.html |Archive du 03/06/2014 le 26/04/2020}}
  
 =====Barre de progression dans la barre des tâches===== =====Barre de progression dans la barre des tâches=====
Ligne 61: Ligne 71:
  
   private static ITaskbarList3 taskbarInstance = (ITaskbarList3)new TaskbarInstance();   private static ITaskbarList3 taskbarInstance = (ITaskbarList3)new TaskbarInstance();
-  private static bool taskbarSupported = Environment.OSVersion.Version >= new Version(6, 1); 
  
   public static void SetState(IntPtr windowHandle, TaskbarStates taskbarState)   public static void SetState(IntPtr windowHandle, TaskbarStates taskbarState)
   {   {
-    if (taskbarSupported) taskbarInstance.SetProgressState(windowHandle, taskbarState);+    taskbarInstance.SetProgressState(windowHandle, taskbarState);
   }   }
  
   public static void SetValue(IntPtr windowHandle, double progressValue, double progressMax)   public static void SetValue(IntPtr windowHandle, double progressValue, double progressMax)
   {   {
-    if (taskbarSupported) taskbarInstance.SetProgressValue(windowHandle, (ulong)progressValue, (ulong)progressMax);+    taskbarInstance.SetProgressValue(windowHandle, (ulong)progressValue, (ulong)progressMax);
   }   }
 } }
Ligne 76: Ligne 85:
 et son utilisation et son utilisation
 <code java> <code java>
-// Utilisation +private static bool taskbarSupported = Environment.OSVersion.Version >= new Version(61);
-TaskbarProgress.SetState(this.Handle, TaskbarProgress.TaskbarStates.Normal); +
-TaskbarProgress.SetValue(HandletoolStripProgressBar1.Value, toolStripProgressBar1.Maximum);+
  
-// Désactivation +if (taskbarSupported) 
-TaskbarProgress.SetState(this.Handle, TaskbarProgress.TaskbarStates.NoProgress);+
 +  // Utilisation 
 +  TaskbarProgress.SetState(this.Handle, TaskbarProgress.TaskbarStates.Normal); 
 +  TaskbarProgress.SetValue(Handle, toolStripProgressBar1.Value, toolStripProgressBar1.Maximum); 
 + 
 +  // Désactivation 
 +  TaskbarProgress.SetState(this.Handle, TaskbarProgress.TaskbarStates.NoProgress); 
 +}
 </code> </code>
  
-[[http://stackoverflow.com/questions/1295890/windows-7-progress-bar-in-taskbar-in-c|Source]]{{ :lang:csharp:ihm:commun:windows_7_progress_bar_in_taskbar_in_c_-_stack_overflow.maff |Archive}}+[[https://stackoverflow.com/questions/1295890/windows-7-progress-bar-in-taskbar-in-c|Windows 7 progress bar in taskbar in C#?]] {{ :lang:csharp:ihm:commun:windows_7_progress_bar_in_taskbar_in_c_-_stack_overflow_2020-04-26_11_26_40_pm_.html |Archive du 18/08/2009 le 26/04/2020}} 
 + 
 +<WRAP center round important 60%> 
 +Il n'est pas possible d'utiliser ''taskbarSupported'' depuis la classe ''TaskbarProgress'' (comme l'exemple de ''StackOverFlow'' le fait). 
 + 
 +Si un élément de cette classe est exécuté, le constructeur privé l'est aussi à cause de la variable ''static'', ce qui entraîne une exception de type ''TypeInitializationException'' sous Windows XP et sous Windows Vista. 
 +</WRAP> 
lang/csharp/ihm/commun.1480676345.txt.gz · Dernière modification : 2016/12/02 11:59 de root