begin process at 2012 02 16 08:12:58
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Control

 > TRACKBAR - SLIDER VB.NET

TRACKBAR - SLIDER VB.NET


 Information sur la source

Note :
9,2 / 10 - par 5 personnes
9,20 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Control Source .NET ( DotNet ) Classé sous :trackbar, slider, Control Niveau :Débutant Date de création :05/10/2007 Date de mise à jour :12/10/2007 16:49:14 Vu / téléchargé :11 155 / 727

Auteur : lapix

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (25)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
Un petit code pour faire une trackbar.

J'ai mis quelques proprietes qui commencent par _ (comme d'ab)

Elle se positionne verticalement ou horizontalement simplement modifiant ses dimensions.

On peut

Tracer des graduations ou pas, afficher sa valeur dans le curseur, les 2 en meme temps.

On peut changer rapidement de couleur par le biais de modeles
Egalement modifier son epaisseur (mais je la trouve mieux quand elle est fine)

Le pas des graduations peut etre changé et s'ajuste automatiquement afin que ce soit toujours un diviseur de (maxi-mini)

Elle peut aussi servir de progressbar si on neutralise l'evenement MouseMove

Comme toujours, n'hesitez pas a commenter.
et merci de vos appreciations (bonnes ET mauvaises) et suggestions



 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

08 octobre 2007 17:49:15 :
Transformé le user control en classe, corrigé un soucis de marge, eliminé le clignotement de rafraichissement.
12 octobre 2007 16:49:15 :
Rajout dans la propriete _modele de l'option PasDeModele. Ceci permet de ne pas zapper les couleurs personnalisées choisies individuellement. Lors du choix d'une couleur directement dans le panel, le modele de couleur passe automatiquement a PasDeModele pour tenir compte de cela. (Conformement au commentaire d'ADN56)

 Sources du même auteur

Source avec Zip Source avec une capture Source .NET (Dotnet) VERTICAL PROGRESS BAR
Source avec Zip Source avec une capture Source .NET (Dotnet) USER CONTROL GRAPHIQUE VB 2005

 Sources de la même categorie

Source avec Zip COMMUNICATION MODBUS MASTER par sergelapointe
Source avec Zip Source avec une capture DÉPLACEMENT AVEC FLÈCHES DANS UN PAVÉ DE TEXTBOX 9X9 DYNAMIQ... par EhJoe
Source avec Zip Source avec une capture Source .NET (Dotnet) CONTROLSTARS EN RÉPONSE À JAKNIGHT007 par bigboss9
Source avec Zip Source avec une capture Source .NET (Dotnet) CALENDRIER ANNUEL NORME ISO par Prog1001
Source avec Zip Source avec une capture Source .NET (Dotnet) CONTROLE STARS par jaknight007

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture Source .NET (Dotnet) CONTROLSTARS EN RÉPONSE À JAKNIGHT007 par bigboss9
Source avec Zip Source avec une capture Source .NET (Dotnet) COLORMATRIX_VB par Le Pivert
Source avec Zip Source avec une capture [VB6 - ACTIVEX] RGWEATHER - LA MÉTÉO SIMPLEMENT DANS VOS APP... par magicgus
Source avec Zip Source avec une capture [VB6 - ACTIVEX] MAGICBOX OU BOITE À CONTROLS... par magicgus
Source avec Zip Source avec une capture POTAR SLIDER par nawakator

Commentaires et avis

Commentaire de Adn56 le 06/10/2007 11:51:42 9/10

j'aime bien ^^, je vais lire tout ça pour essayer d'améliorer mon control. Mais j'ai le meme soucis avec ton control que sur le miens, cela clignote sur un changement. Cela le fait chez toi ? et si oui comment virer cela ???
a te lire.
++

Commentaire de veler le 06/10/2007 12:11:59

Stylé!

Commentaire de lapix le 06/10/2007 20:19:44

J'ai aussi le probleme du clignotement, je cherche sur une voie qui consisterais a tracer un bmp et l'afficher d'un coup ou un equivalent de ce genre...

Si tu trouves avant n'hesites pas a m'en faire part

Commentaire de Adn56 le 06/10/2007 20:59:07

promis ^^

Commentaire de Adn56 le 08/10/2007 14:51:25

bon j'ai essayé tout un tas de trucs différents, comme dessiner dans un panel, plutot que sur la forme (http://www.codes-sources.com/code.aspx?ID=44039) mais cela fait pareil, j'ai essayé pour voir la différence entre refresh() et invalidate(), pareil :(
je séche. le pire je viens de voir que sur control gauge.ocx de VB4 (donc fait par crosoft) et ben cela clignote aussi si on change trop vite les valeurs. Donc conclusion pour ton control e tle miens il faut pas donner de valeur en temps réél si on veux que cela ne clignote pas ! c'est nul -_-

Voici les différentes version testé pour dessiner (s'il yen a d'autre je prends ^^)

Sur la form :

    Private Sub UserControl1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
        Try
            Dim gaugepen As New Pen(couleur, epaisseur)
            Dim x, y As Integer

            x = (centreX) + (RayonX * Math.Cos(val_PI))
            y = (centreY) - (RayonY * Math.Sin(val_PI))
            e.Graphics.DrawLine(gaugepen, (centreX), (centreY), x, y)
            e.Dispose()
        Catch excep As Exception
            Exit Sub
        End Try
            End Sub

ou dans un panel :

    Protected Sub dessin_VU() => appellé dans le panel1.paint()

        Try
            Dim Graphic As System.Drawing.Graphics = Panel1.CreateGraphics
            Dim gaugepen As New Pen(couleur, epaisseur)
            Dim x, y As Integer

            'Graphic.Clear(Color.Transparent)

            x = (centreX) + (RayonX * Math.Cos(val_PI))
            y = (centreY) - (RayonY * Math.Sin(val_PI))
            Graphic.DrawLine(gaugepen, (centreX), (centreY), x, y)
            Graphic.Dispose()
        Catch excep As Exception
            Exit Sub
        End Try

    End Sub 'dessine l'aiguille

Voila, et toi tu en est ou  ?

Commentaire de lapix le 08/10/2007 15:30:11

En fait je suis aussi parti sur invalidate.
Je suis en train de modifier mon code et je travaille avec :

Invalidate(Rect as rectangle) au lieu de invalidate()

dans toutes les proprietes je mets invalidate() au lieu de refresh(), et dans la propriete valeur je mets invalidate avec les coordonnées du rectangle que je veux redessiner.
En fait ca se fait par le biais d'une procedure InvalidatePartial(OldValue,Newvalue) que je cree pour que le controle ne soit rafraichi que sur cette zone là.

Pour ton cas par exemple, si ton aiguille est verticale, tu invalidate le rectangle vertical qui la contient et tu cree une nouvelle aiguille

Il y a un leger clignotement encore mais vraiment rien a voir avec le code precedent

Je ne sais pas si je suis clair. Je mets a jour mon code cet AM je pense, avec le support ca ira peut etre mieux

a te lire

Commentaire de Adn56 le 08/10/2007 16:09:10

C'est bon j'ai trouvé !
j'ai laissé mon code tel quel, mais j'ai changé les paramétres du control (user.form quoi) Et ça marche !!!! plus aucun clignotement !
voici les paramétres :
allowdrop = false
autoscalemode = none
autoscroll = false
autosize= false
autovalidate = DISABLE !
causevalidation = false
et surtout DOUBLEBUFFERED = TRUE ;-)
imemode = nocontrol
localizable = false
Et voila avec ça tu ne devrais plus avoir de soucis ^^
++

Commentaire de Adn56 le 08/10/2007 16:30:49

gloups je viens de tester cela sur ton code et cela ne clignote plus (ya rien qui s'affiche MDR) arggg j'y pige que kouik. bonne chance ++

Commentaire de lapix le 08/10/2007 17:51:54

Code mis a jour !
J'ai utilisé un peu de tout en fait...

Commentaire de Adn56 le 08/10/2007 18:44:29

lol cool, je l'intégre de ce pas à mes controls ;)

sinon je pense faire de même, mais avec le principe de mon control, style je change le bouton du slider avec un type.
du genre :
type 0 = bmp
type 1 = ton losange
type 2 = un rectangle avec propriété de couleur
puis aussi sur le fond de la trackbar
sacré boulot en perspective ^^, mais c'est comme cela que j'apprend lol

enfin tu vois le topo ^^

Commentaire de Bidou le 09/10/2007 10:18:41 administrateur CS 9/10

Le résultat visuel est bon :)

Commentaire de lapix le 09/10/2007 10:51:23

Merci bidou

Comme je fais de l'auto formation, j'apprecie tout particulierement le commentaire

Commentaire de Adn56 le 09/10/2007 12:53:15

pareil chez moi, ca tourne nickel ! bravo
étant aussi autoditacte, ej vais me permettre de te piquer deux trois idées ;)
+

Commentaire de lapix le 09/10/2007 14:23:28

C'est fait pour ca !On partage et on avance...

Commentaire de Adn56 le 10/10/2007 14:28:20

ok, je post ma mise à jour de ma DLL et puis j'essaye apres de compendre la différence avce une classe ;)
merci et @++

Commentaire de Adn56 le 12/10/2007 10:13:52

Salut, une idée !
Dans modéle de couleur il manque un modéle vierge.
En effet si l'on modifie les couleurs du curseur ou du fond via les propriétés _couleurA,_couleurcurse,etc elles seront réinitalisées par la propriété _modélecouleur.

vala ++

Commentaire de Adn56 le 12/10/2007 18:33:46

sinon pour info je commence à modifier ton code pour le rendre adhoc pour mes appli, je n'oublirai pas, biensur de te citer ^^. voila dés que j'ai fini je post ma source !
++ et merci bien pour tout

Commentaire de Adn56 le 08/04/2008 19:19:34

Merci l'ami ! du bon boulot que voila !!!
continue ;)

Commentaire de yassirguitare le 01/11/2008 23:17:08

methode refresh() pour le clignotement

Commentaire de Mayzz le 08/06/2009 08:22:20

Bravo, très beau contrôle, bien élaboré, code propre je met 10 sans hésiter !

Commentaire de Mayzz le 08/06/2009 08:26:01 10/10

Arf, pas pris la note je recommence(et un ptit click sur ta barre de pub ;o) )

Commentaire de oblykody le 11/08/2009 03:47:09 10/10

Très beau contrôle, merci de nous pondre de belles sources comme ça !

Commentaire de Golard le 10/08/2010 11:49:38 8/10

Très joli !

ça nous change de l'horrible Trackbar de vbnet qui n'est autre que le non moins horrible slider de vb6 qui lui-même semble tout droit sorti des premiers contrôles visuels des année 80 !!!

Dommage que la roulette de la souris n'agisse pas dessus comme sur le slider de vb... peux-tu améliorer ça ?

Encore bravo ! Je m'abonne au fil au cas où tu mettes à jour le source,

A +

Commentaire de lapix le 10/08/2010 14:03:39

Bonjour Golard

Pour obtenir ce que tu souhaites, tu paux coller ce bout de code :

  Protected Overrides Sub OnMouseWheel(ByVal e As System.Windows.Forms.MouseEventArgs)
            MyBase.OnMouseWheel(e)
            Dim ChangeValue As Integer = CInt(e.Delta / 120) '* SystemInformation.MouseWheelScrollLines / 40)
            Me._Valeur += ChangeValue
        End Sub

        Protected Overrides Sub OnMouseClick(ByVal e As System.Windows.Forms.MouseEventArgs)
            MyBase.OnMouseClick(e)
            Me.Select()
        End Sub

Ca doit repondre a ta question, il suffit de cliquer une fois sur le controle pour lui donner le focus et ensuite tu peux utiliser la roulette de souris pour changer la valeur dans les bornes définies

Bonne journée

Commentaire de Adn56 le 10/08/2010 18:02:33

ou en plus lui attribuer directement le focus avec getfocus() si tu veux
vraiment s'était bien cette époque, des bons controls...3ans déja..
Allez lapix encore du code ^^

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Ou se trouve le Control "slider"? [ par Thanatozblob ] Bonjour, je suis débutant, et je ne sais pas quelle case cocher dans la liste "composants" de vb6 pour pouvoir ajouter un contrôle "slider", comment naviguer dans un mp3 avec un control slider [ par MortDansLAme ] Bonjours à tous et à toutes, je suis en ce moment en train de concevoir un lecteur MP3 sous VB6. A l'heure actuel, un control slider me perm Control.Print [ par makram2006 ] Je veux bien savoir comment définir la police pour la méthode Print en VB6. control wav [ par hamada2010 ] bjr, je voudrais un control auquel je peux inserer du son, wav ou wma,et que je puisse le controler avec un programme.et merci Control richtextbox transparent attaché a sa form [ par adess00 ] Bonjour Je voudrai savoir comment faire pour rendre ma richtextbox transparente.J ai trouvé des sources mais le probleme est que la richtextbox d Comment faire un Control Array en vb.net sans ajouter de composant. [ par XGuarden ] Je suis en trein de faire un programme de réservations de spactacles en vb.net 2003. dans un datagrid, j'ai la liste des sièges réserv Recuperation de la couleur de fond d'un control pour la mettre dans une cellule Excel [ par asaudemont ] Bonjour a tous,Je souhaite recupérer la couleur de fond d'un control pour pouvoir la mettre dans une cellule Excel.Qui peux m'aider?  & Probleme avec Scale [ par boulacmoi ] Bonjours,J'ai un petit problème avec tout ce qui est scale et width, height etc....J'ai créer un nouveau control utilisateur, a qui je deman problème de scale [ par boulacmoi ] Bonjours,J'ai un petit problème avec tout ce qui est scale et width, height etc....J'ai créer un nouveau control utilisateur, a qui je deman control volume du son avec MMcontrol [ par thebrainwasher ] bonjours à tous, voila c'est tout simple comme question j'aurais voulu savoir s'il est possible de controler le volume du son produit avec un MMC


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

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 : 3,713 sec (3)

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