IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

agrandir un linklabel avec mousehover VB.net


Sujet :

VB.NET

  1. #1
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2011
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 267
    Par défaut agrandir un linklabel avec mousehover VB.net
    Bonjour,

    J'utilise Visual Basic.net 2010 et j'ai un linklabel qui a comme nom: " LL1 ".Je veux que si le curseur de la souris et sur le lien sans cliquer et sans faire rien sa taille agrandi.
    merci de m'aidez je suis bloqué.

  2. #2
    Membre habitué
    Inscrit en
    Février 2011
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 12
    Par défaut
    Salut,

    deja tu peut commencer par cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Private Sub LL1_MouseHover(ByVal sender As Object, ByVal e As System.EventArgs) Handles LL1.MouseHover
    'Rentre ici le code pour que la fenêtre s’agrandisse. Je ne peut le faire car je n'ai pas le nom de la fenêtre.
        End Sub

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    wpf est plus fait pour ce genre de choses que windows forms
    mais tu peux changer la font sur MouseEnter et MouseLeave

    sinon merci de mettre des titres explicites genre "agrandir un linklabel sur mouseover" parce qu'ici tout le monde a besoin d'aide pour vb.net !
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre expérimenté Avatar de anonymousse
    Profil pro
    Inscrit en
    Février 2011
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 130
    Par défaut
    bonsoir,

    essaies par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub LL1_MouseHover(ByVal sender As Object, ByVal e As System.EventArgs) Handles LL1.MouseHover
            LL1.Font = New Font(LL1.Font.Name, LL1.Font.SizeInPoints * 2, LL1.Font.Style)
    End Sub
     
    Private Sub LL1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles LL1.MouseLeave
            LL1.Font = New Font(LL1.Font.Name, LL1.Font.SizeInPoints / 2, LL1.Font.Style)
    End Sub

    il doit probablement falloir gérer en plus la taille du conteneur (Propriétés LL1.Heigth et LL1.Width)

  5. #5
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2011
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 267
    Par défaut
    Merci c'est ce que je veux mais il y a problème,si je passe le curseur plusieurs fois sur le lien tu m'as donné dans le MouseLeave SizeInPoints / 2 dons la taille va se diviser sur 2 jusqu'à le lien devient invisible.Est ce que je ne peut pas donné des valeurs fixe??

  6. #6
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut oldsize
    bonjour
    tu reprends le code donne par anonymousse,mais old,old il faut se souvenir de la taille initiale dans un variable globale de la form comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public class Form1
    Private oldTaille as Size
     
    Private Sub LL1_MouseHover(ByVal sender As Object, ByVal e As System.EventArgs) Handles LL1.MouseHover
           oldTaille=LL1.Font.SizeInPoints 
      LL1.Font = New Font(LL1.Font.Name, LL1.Font.SizeInPoints * 2, LL1.Font.Style)
    End Sub
     
    Private Sub LL1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles LL1.MouseLeave
           ' ici on reprend l'old taille simplement
            LL1.Font = New Font(LL1.Font.Name, LL1.Font.oldTaille, LL1.Font.Style)
    End Sub
    bon code....

  7. #7
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2011
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 267
    Par défaut
    Merci pour l'aide, mais je suis nouveau en visual basic. J'ai 2 erreurs :
    Sur "LL1.Font.SizeInPoints " j ai l'erreur suivante
    Impossible de convertir une valeur de type 'Single' en 'System.Drawing.Size'
    Et sur "LL1.Font.oldTaille" j ai l erreur
    'oldTaille' n'est pas un membre de 'System.Drawing.Font'

  8. #8
    Membre expérimenté Avatar de anonymousse
    Profil pro
    Inscrit en
    Février 2011
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 130
    Par défaut
    bonjour,


    Sur "LL1.Font.SizeInPoints " j ai l'erreur suivante
    Citation:
    Impossible de convertir une valeur de type 'Single' en 'System.Drawing.Size'
    c'est normal size et sizeinpoints sont différents, il faut que tu cherches si tu peux remplacer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private oldTaille as Size
    par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private oldTaille as SizeInPoints ' ou font.sizeinpoints ou l'équivalent (je ne peux pas le tester tout de suite
    Et sur "LL1.Font.oldTaille" j ai l erreur
    Citation:
    'oldTaille' n'est pas un membre de 'System.Drawing.Font'
    normal, il faut remplacer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LL1.Font = New Font(LL1.Font.Name, LL1.Font.oldTaille, LL1.Font.Style)
    par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LL1.Font = New Font(LL1.Font.Name, oldTaille, LL1.Font.Style)
    sinon tu peux effectivement mettre une taille (en points) que tu définis au lieu de x2

    bon code

  9. #9
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut oldsize,size,LinkLabel & son SizeInPoints
    Bonjour oami89
    Pardon cette technique de memorisation est classique quand on fait un mouseover.
    Malheureusement pour moi,je confondais avec le "Size" d'un font qui est en Lecture-Ecriture .Alors que ce "SizeInPoints" est specifique à LinkLabel : il est "ReadOonly" et en plus c'est du "Single".
    Je corrige donc & tant pis pour moi .Ma variable mon OldTaille sera type Font :
    code corrige qui marche.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    Public Class Form1
        Private oldFont As Font
     
        Sub New()
     
            ' Cet appel est requis par le Concepteur Windows Form.
            InitializeComponent()
     
            ' Ajoutez une initialisation quelconque après l'appel InitializeComponent().
     
        End Sub
     
     
        Private Sub LL1_MouseHover(ByVal sender As Object, ByVal e As System.EventArgs) Handles LL1.MouseHover
            oldFont = LL1.Font
            LL1.Font = New Font(LL1.Font.Name, LL1.Font.SizeInPoints * 2, LL1.Font.Style)
        End Sub
     
        Private Sub LL1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles LL1.MouseLeave
            ' ici on reprend l'old taille simplement
            LL1.Font = oldFont
            LL1.Font = New Font(LL1.Font.Name, LL1.Font.SizeInPoints, LL1.Font.Style)
        End Sub
     
    End Class
    bon code......

  10. #10
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2011
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 267
    Par défaut
    Merci beaucoup ca marché mais si vous pouvez m'aider il y a problème dans la fonction c'est que la bouton est à l'extrémité du form du coté droite.SizeInPoints * 2 permet de lien de dépasser l'extrémité du form a droite. j ai mis SizeInPoints * 1.5 et il n'accepte pas les réels.il'ya t'il solution??

  11. #11
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut single,double
    bonjour
    si tu as mis Double ca marche pas.Il faut un Single.
    Declare une variable Single affecte lui 1.5 et multiplie par cette variable.
    Au lieu de multiplier directement par un nombre 2.0 ou 1.5
    Ca devrait marcher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Public Class Form1
        Private oldFont As Font
        Private coeff As Single = 1.5
     
        Sub New()
     
            ' Cet appel est requis par le Concepteur Windows Form.
            InitializeComponent()
     
            ' Ajoutez une initialisation quelconque après l'appel InitializeComponent().
     
        End Sub
     
        Private Sub LL1_MouseHover(ByVal sender As Object, ByVal e As System.EventArgs) Handles LL1.MouseHover
            oldFont = LL1.Font
            LL1.Font = New Font(LL1.Font.Name, LL1.Font.SizeInPoints * coeff, LL1.Font.Style)
        End Sub
     
        Private Sub LL1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles LL1.MouseLeave
            ' ici on reprend l'old taille simplement
            LL1.Font = oldFont
            LL1.Font = New Font(LL1.Font.Name, LL1.Font.SizeInPoints, LL1.Font.Style)
        End Sub
     
    End Class
    bon code....

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme de taille du linklabel avec mousehover
    Par oami89 dans le forum VB.NET
    Réponses: 2
    Dernier message: 28/02/2011, 01h06
  2. Probleme avec debuggeur Visual Net 2003
    Par 0xYg3n3 dans le forum MFC
    Réponses: 8
    Dernier message: 15/05/2005, 22h11
  3. Agrandir un champ avec Firebird.
    Par fplanglois dans le forum Débuter
    Réponses: 3
    Dernier message: 19/04/2005, 15h25
  4. probleme de link avec visual studio .net 2003
    Par kamal101 dans le forum MFC
    Réponses: 9
    Dernier message: 28/03/2005, 21h44
  5. Probleme d'utilisation de directX 9 avec visual studio.net
    Par cranedoeuf dans le forum DirectX
    Réponses: 1
    Dernier message: 24/05/2004, 04h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo