begin process at 2010 02 10 00:32:29
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

.NET

 > USERCONTROL HORLOGE ANALOGIQUE .NET

USERCONTROL HORLOGE ANALOGIQUE .NET


 Information sur la source

Note :
10 / 10 - par 2 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :.NET Source .NET ( DotNet ) Classé sous :horloge, analogique, usercontrol Niveau :Initié Date de création :27/01/2005 Date de mise à jour :28/09/2005 20:37:58 Vu / téléchargé :10 296 / 790

Auteur : xmo

Ecrire un message privé
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
C'est un contrôle .Net qui affiche une horloge sous forme analogique et qui est utilisable dans Visual Studio et qu'on rajouté à la ToolBox.
Je l'ai développé avec vs 2005 bêta.
Techniques de programmations :
Les accès aux composants du UserControl  par les autres threads sont sécurisés via des appels de delegates associés.
Pour plus d'infos sur la partie qui gère l'affichage des aiguilles voir:
http://www.csharpfr.com/code.aspx?ID=25310

Source

  • //Dans vs2005 pour pas avoir le message d erreur « Illegal cross thread operation »
  • /* Dans le Thread principal */
  • //Declaration du contrôle
  • PictureBox grWatch = new PictureBox() ;
  • //initialisations des proprietes du contrôle
  • //Propriete du UserControl qui donne l acces à Picture.Graphics
  • private Graphics WatchGraphics
  • {
  • get { return (Graphics)Invoke(new GetWatchGraphicsDelegate(GetWatchGraphics)); }
  • }
  • //Delegate et sa fonction associée
  • //Ils permettent d?acceder au menbres d un contrôle à partir d un thread qui ne l?a pas créer
  • private delegate Graphics GetWatchGraphicsDelegate();
  • private Graphics GetWatchGraphics()
  • {
  • return grWatch.CreateGraphics();
  • }
  • /* Dans le Thread du timer */
  • //Au moment de l acces
  • bg = bgc.Allocate( WatchGraphics , new Rectangle(0, 0, WatchGraphicsWidth, WatchGraphicsHeight));
//Dans vs2005 pour pas avoir le message d erreur « Illegal cross thread operation »

/* Dans le Thread principal */
//Declaration du contrôle
PictureBox grWatch = new PictureBox() ;
//initialisations des proprietes du contrôle

//Propriete du UserControl qui donne l acces à Picture.Graphics
private Graphics WatchGraphics
{
get { return (Graphics)Invoke(new GetWatchGraphicsDelegate(GetWatchGraphics)); }
}
//Delegate et sa fonction associée
//Ils permettent d?acceder au menbres d un contrôle à partir d un thread qui ne l?a pas créer
private delegate Graphics GetWatchGraphicsDelegate();
private Graphics  GetWatchGraphics()
{
	return grWatch.CreateGraphics();
}

/* Dans le Thread du timer */
//Au moment de l acces
bg = bgc.Allocate( WatchGraphics , new Rectangle(0, 0, WatchGraphicsWidth, WatchGraphicsHeight));

 Conclusion

C'est une première version au quel je rajouterais des fonctionnalités.
Si vous avez des remarques, des suggestions, des corrections a apporter
envoyer moi un mail à xmo@hotmail.fr avec comme sujet : Library.Watch.
@+ sur le site.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

27 janvier 2005 16:05:58 :
Complément de la présentation du code
28 janvier 2005 14:02:06 :
Ajout de la dll aux sources du contrôle. Pour ceux qui n'ont pas vs 2005 béta.
31 janvier 2005 00:33:37 :
Ajout d une nouvelle methode : ShowWatch.
28 septembre 2005 20:37:59 :
Cette mise à jour corrige un bug dans la fonction ShowWatch. Dans la version précédente c'est ShowWatch qui incrémente les secondes et lorsque le control reçoit un message Paint il incrémente l'horloge ce qui a pour effet d'avancer l'heure de l'horloge.

 Sources de la même categorie

Source avec Zip CHAT SERVER-CLIENT par abderrahmenbilog
Source avec Zip Source avec une capture Source .NET (Dotnet) SIMULATION DE CONSOLE POUR WINDOWS MOBILE par originalcompo
Source avec Zip Source .NET (Dotnet) BASE DE DONNÉES EN XML par DanMor498
Source avec Zip Source avec une capture Source .NET (Dotnet) SIMPLECONV - APPLICATION DE CONVERSION MONÉTAIRE AVEC TAUX E... par Jeffrey_
Source avec Zip Source .NET (Dotnet) TRAITEUR D'IMAGE (MINI) par ycyril

 Sources en rapport avec celle ci

Source avec Zip Source .NET (Dotnet) CAROUSEL EN WPF (USERCONTROL) par CoolSpirit
Source avec Zip Source avec une capture Source .NET (Dotnet) CRÉATION D'UN ACTIVEX EN UTILSANT UN USERCONTROL DOTNET CSHA... par AVerhamme
Source avec Zip Source avec une capture Source .NET (Dotnet) COMPTEURS DE PERFORMANCES (CONSOMMATION MÉMOIRE, UC, RESSOUR... par Samir63
Source avec Zip Source avec une capture Source .NET (Dotnet) COMPOSANT HORLOGE ANALOGIQUE PERSONNALISABLE par taupe4
Source avec Zip Source avec une capture Source .NET (Dotnet) HORLOGE ANALOGIQUE par ToshiBaba

Commentaires et avis

Commentaire de tmcuh le 27/01/2005 16:47:17

Sans doute interressant mais tu utilise un compilateur en version beta... créer une dll alors; les sources ne servent à rien si on ne sais pas se rendre compte du résultat ;)

Amicalement tmcuh

Commentaire de Smalo le 17/02/2005 17:26:26

En effet cela ne fonctionne pas chez moi

Commentaire de jeymard le 17/03/2005 09:37:42

Il y a un bug tout bizarre. En effet, lorsqu'on utilise ton horloge comme un composant dans une fenêtre, et si on retaille un composant (n'importe lequel) alors l'horloge s'emballe et les secondes défilent, défilent!!!

pour corriger ce bug : il faut modifier la procédure ShowWatch() de l'horloge. Il faut remplacer la ligne :"m_time = m_time.addSeconds(1);" par "m_Time = DateTime.Now;".

En effet le retaillage de la fenêtre rentraine un rafraichissement de tous les composants dont l'horloge. Et celle ci ajoutait une seonde en plus à chaque fois qu'elle faisait appel à showwatch().

Cela a eu pour effet que dans mon application, l'heure affichée était de 12h45 alors qu'il était simplement 09h15 !


Mais en tout cas xmo ton horloge est super belle et fais un effet de fou dans mon appli!!!
merci encore!!!

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Horloge et date ? [ par JCpp ] Je voudrai connaître les fonctions pour afficher l'heure et la date en C#Merci à tous,http://perso.wanadoo.fr/iar/IAr_Projet.htm Usercontrol et OnKeyPress [ par vbmore ] Je suis en train de crée un UserControl et je n'arrive pas à intercepter les touches Haut, Bas, Gauche, Bas (Elles passent le focus au controle suivan Icone UserControl [ par bucherb ] Hello!Est-ce que quelqu'un saurait comment changer la petite icône d'un UserControl dans le ToolBox du designer, pour avoir autre chose que ce truc tr passage de valeur userControl -> winForm [ par benjamin33 ] BonjourVoila, j'ai un formulaire dans lequel j'insere un userControl (qui contient lui-meme une listbox)J'aimerais recuperer la valeur selectionnée (l [Winform] [UserControl] référence à la form [ par stailer ] Bonjour tout le monde,Je suis en train de programmer un UserControl visuel à poser sur une form.Le problème, c'est que ce controle doit "paramétrer" a UserControl et Event... [ par bigflo ] Salut à tous...Voila, je voudrais faire mon propre UserControl. Mais j'ai un petit souci vis-àvis des évenements Click et DoubleClick.Je n'arrive pas scrollbar et usercontrol [ par bigflo ] Salut,Je réalise mon propre controle. Mais je n'arrive pas à faire apparaitre les scrollbars...Ya bien une propriété AutoScroll, mais apparement, je n Constructeur "intelligent" [ par revlis ] BonjourJ'ai des class hérité de userControl et je voudrait passer les composant a une class qui les initilise et construit si besoinpour cela j'ai fai [C# WinForm] Méthode depuis UserControl [ par stailer ] Salut,Alors je vais essayer de faire simple :Comment appeller une méthode d'un formulaire depuis un usercontrol ?J'ai bien essayé ceci :public void bo Communication entre UserControl en ASP.NET [ par Alex009 ] Bonjourj'ai une page xyz.aspx qui contient deux UserControl qui sont Header.ascx et Menu.ascx. J'aimerai au click d'un boutton du Header.ascx faire ap


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,210 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales