Développement .NET 8 : Suppression des dossiers de langue et runtime superflus, et nettoyage des DLL redondantes de SourceGrid-huanlin
Ajoutez les propriétés suivantes dans le fichier projet (.csproj) pour limiter la génération à une seule culture et à un runtime conteneurisé :
<PropertyGroup>
<SelfContained>false</SelfContained>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
<SatelliteResourceLanguages>fr-FR</SatelliteResourc ...
Publié le 30 juillet à 06h25
Création d'un contrôle personnalisé ProgressBar en C# avec GDI+
Introduction
Cet article explique comment concevoir un contrôle de barre de progression (ProgressBar) entièrement personnalisé en utilisant GDI+ dans un environnement .NET WinForms. L'objectif est d'aller au-delà des simples barres horizontales et de proposer des rendus visuels variés : circulaire (Pie), arc (Arc) et bien d'autres.
Les techniqu ...
Publié le 23 juillet à 08h09
Gestion de la touche Entrée dans un RichTextBox WinForms avec SunnyUI
Dans les applications WinForms, la gestion de la touche Entrée dans les contrôles RichTextBox peut nécessiter une approche spécifique. Voici une implémentation personnlaisée :
public sealed class RichTextBoxCustom : UIRichTextBox
{
public bool IsLastRow { get; set; }
public event KeyEventHandler EnterKeyPressed;
protected over ...
Publié le 19 juillet à 23h29
Gestion des journaux et alarmes dans un système de contrôle de mouvement avec C# et SQLite
Notes d'étude sur l'enregistrement des opérations, des journaux et des alarmes, avec requêtes via SQLite.
Analyse : que faut-il enregistrer ? Catégories
Enregistrements d'opérations : modification de paramètres, commandes manuelles (boutons de contrôle), connexion, déconnexion.
Informations de journal : liste AddLog de la fenêtre de supervisio ...
Publié le 8 juillet à 23h02
Utilisation du contrôle NotifyIcon en C# WinForms
[I] Connaissances de base
Les icônes dans la barre des tâches sont des raccourcis vers des processus s'exécutant en arrière-plan sur l'ordinateur, tels que les programmes antivirus ou le contrôle du volume. Lorsque nous utilisons des applicasions comme QQ, l'interface principale peut être masquée dans la zone de notification et réapparaitre lor ...
Publié le 1 juillet à 20h58
Gestion des Priorités dans les Applications WinForms
Contrairement à WPF qui dispose de l'énumération DispatcherPriority, WinForms ne propose pas de système de priorité intégré pour l'exécution des opérations sur le fil d'interface graphique. Les méthodes Control.Invoke et Control.BeginInvoke permettent de transférer des délégués vers le thread UI, mais toutes les opérations soumises s'exécutent ...
Publié le 1 juillet à 08h39
Gestion des temporisateurs dans les applications Windows Forms
Les applications Windows Forms nécessitent souvent l'exécution de tâches à intervalles réguliers. Deux approches courantes impliquent l'utilisation de System.Timers.Timer ou la création d'un thread dédié. Ces méthodes permettent de mettre à jour l'interface utilisateur de manière périodique, mais elles doivent gérer correctement les threads pou ...
Publié le 11 juin à 22h14
Personnalisation de DataGridView WinForms : Ajout de numéros de lignes, coloration conditionnelle et alternance de couleurs
Ajout de numéros de lignes à l'aide de l'événement RowPostPaint
Pour numéroter les lignes d'un DataGridView, abonnez-vous à l'événement RowPostPaint. Cet événement se déclenche après le dessin de chaque ligne, ce qui permet d'ajouter des numéros dans les en-têtes de lignes.
// Exemple de gestion de l'événement RowPostPaint pour ajouter des num ...
Publié le 10 juin à 05h43
Verrouillage Automatique de l'Écran par Filtrage de Messages en C#
L'implémentation d'un verrouillage automatique de l'écran repose sur la détection d'inactivité de l'utilisateur à l'aide du filtrage de messages Windows. Cette approche utilise une minuterie pour suivre le temps d'inactivité et réinitialise le compteur lorsque des événements clavier ou souris sont détectés.
API Windows pour le Verrouillage
La f ...
Publié le 10 juin à 03h58
Intégration de XNA dans une application WPF
XNA, basé sur DirectX, offre de nombreux avantages pour le développement de jeux en C# sur la plateforme .NET, notamment la compatibilité avec la Xbox 360. Cependant, combiner XNA avec WPF pour créer des interfaces graphiques avancées présente des défis. Voici une approche pour héberger une application XNA au sein d'une fenêtre WPF.
Étape 1 : C ...
Publié le 1 juin à 02h40