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 :

[UserControl]Gérer l'évènement KeyDown d'un contrôle qui ne peut avoir le focus


Sujet :

VB.NET

  1. #1
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut [UserControl]Gérer l'évènement KeyDown d'un contrôle qui ne peut avoir le focus
    Bonjour cher forum,

    Toujours occupé sur mon usercontrol, je désire simuler le clic du bouton delete lors de la pression de la touche delete.

    Rien de bien compliqué à priori.

    Sauf que...

    Le contrôle dont je voudrais gérer le KeyDown est une PictureBox (donc pas de KeyDown car une PictureBox ne peux avoir le focus).
    Pas de propriété KeyPreview sur un UserControl.
    Impossible de passer par le KeyPreview de la winform sur laquelle il sera inséré car il se sera bien sûr pas le seul contrôle sur la winform et que je n'arrive pas à lui donner le focus bien que CanFocus = True.

    Je fais donc appelle à vos lumières afin d'éclairer ma lanterne.

    Merci d'avance.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Points : 1 745
    Points
    1 745
    Par défaut
    Bonjour,

    Je suppose que tu auras plusieurs UserControl de type PictureBox sur ta forme et que tu veux pouvoir supprimer un UserControl après l'avoir sélectionné en appuyant sur la touche Supprimer (?)

    Si c'est le cas, ce que je ferais, c'est de simuler un focus lors du clic sur le UserControl. Pour cela, le UserControl pourrai générer un Event indiquant à la Forme qu'il est sélectionné (et éventuellement utiliser ControlPaint.DrawFocusRectangle dans le paint du UserControl pour qu'il paraisse sélectionné). Ensuite, c'est au niveau de la forme que tu gères la suppression par la touche Suppr. Si un UserControl est sélectionné, il est supprimé.

    eb.

  3. #3
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Excepté la notion de simuler le click qui est simple, c'est l'histoire de KeyPress que je ne saisis pas ...

    Tu veux qu'un keypress de la touche Del sur ton userControl génère le click, c'est pas bien compliqué jusque là ... Mais y'a l'air d'avoir une spécificité dans ce que tu dis qui va tout compliquer mais j'ai pas compris.

  4. #4
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut
    Que le keypress génère le clic, c'est hyper simple en temps normal oui.

    Mais pour te faire comprendre le problème, fais l'exercice suivant :

    1. Crée un projet winform
    2. Sur la winform de ton projet, ajoute une picturebox
    3. Tente de gérer le keypress (ou keydown ou autre) de la picturebox

  5. #5
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut
    Citation Envoyé par ebastien Voir le message
    Bonjour,

    Je suppose que tu auras plusieurs UserControl de type PictureBox sur ta forme et que tu veux pouvoir supprimer un UserControl après l'avoir sélectionné en appuyant sur la touche Supprimer (?)

    Si c'est le cas, ce que je ferais, c'est de simuler un focus lors du clic sur le UserControl. Pour cela, le UserControl pourrai générer un Event indiquant à la Forme qu'il est sélectionné (et éventuellement utiliser ControlPaint.DrawFocusRectangle dans le paint du UserControl pour qu'il paraisse sélectionné). Ensuite, c'est au niveau de la forme que tu gères la suppression par la touche Suppr. Si un UserControl est sélectionné, il est supprimé.

    eb.
    Je n'avais pas vu ton message en répondant à Ezekiel.

    J'explique en détail pourquoi je veux faire cela alors... Mais vu qu'un petit dessin vaut mieux qu'un long discours, voici une image (voir pièce jointe (j'espère que ce sera suffisamment grand pour être clair^^)).

    Voici donc à quoi ressemble mon contrôle. Alors bien sûr, ici il est tout seul sur une form en Dock=Fill car je ne fais que le tester mais il faut penser que plus tard, il s'intégra dans une interface plus complexe avec d'autres contrôles sur la form.

    Alors, qu'est-ce qu'il fait ce contrôle... D'abord, il reçoit des données via sa propriété DataSource et affiche ce qu'il doit dans la partie gauche (le datagridview). Ensuite, s'il y a des lignes dans le DGV, l'utilisateur peut choisir une catégorie dans le bas via les radiobuttons et délimite ensuite des ranges sur le schéma (qui est une picturebox où il dessine directement).

    On voit donc ici que

    • arnaud travaille de 9h15 à 17 avec une pause de 11h15 à 11h30 et une autre pause de 15h00 à 15h15.
    • ruben travaille de 10h15 à 17h30 avec une pause de 12h45 à 13h00 et une autre pause de 15h00 à 15h15.
    • luk travaille de 10h30 à 16h avec une pause de 12h15 à 13h00.

    L'utilisateur peut également passer en mode sélection en cliquant sur le radiobutton ayant "Selection" comme texte. Il peut alors sélectionner une range du diagramme en cliquant dessus. Laquelle est alors encadrée en bleu.


    S'il désire pour une raison X ou Y la supprimer, il lui suffit alors de cliquer sur le bon Delete.

    Je voudrais permettre que cette suppression s'effectue également lorsque l'utilisateur presse la touche Delete de son clavier.
    Images attachées Images attachées  

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Points : 1 745
    Points
    1 745
    Par défaut
    Ok, effectivement, je n'avais pas du tout compris ce que tu voulais faire !
    Je ne connais pas vraiment ta cinématique mais je viens de tester un truc qui fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
      PictureBox1.Focus()
    End Sub
     
    Private Sub PictureBox1_PreviewKeyDown(sender As Object, e As PreviewKeyDownEventArgs) Handles PictureBox1.PreviewKeyDown
      If e.KeyCode = Keys.Delete Then
         MessageBox.Show("Delete")
      End If
    End Sub
    En espérant que ça collera pour toi...
    eb.

  7. #7
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut
    Citation Envoyé par ebastien Voir le message
    Ok, effectivement, je n'avais pas du tout compris ce que tu voulais faire !
    Je ne connais pas vraiment ta cinématique mais je viens de tester un truc qui fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
      PictureBox1.Focus()
    End Sub
     
    Private Sub PictureBox1_PreviewKeyDown(sender As Object, e As PreviewKeyDownEventArgs) Handles PictureBox1.PreviewKeyDown
      If e.KeyCode = Keys.Delete Then
         MessageBox.Show("Delete")
      End If
    End Sub
    En espérant que ça collera pour toi...
    eb.
    Ah bin je vais tester... J'y avais pensé mais pas tester car d'après la MSDN, une picture ne peux pas avoir le focus ^^.

  8. #8
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut
    Bon bin je confirme que cela ne fonctionne pas...

    J'ai ajouté exactement ton code et rien ne se passe... (j'ai même ajouter l'event click de la picturebox pcq je le faisais dans le mouseclick qui présentait l'avantage de déjà être géré par mon controle)

  9. #9
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 742
    Points
    9 742
    Billets dans le blog
    3
    Par défaut
    A tout hasard, as-tu déjà vu cet article : Donner le focus a un controle PictureBox ?

  10. #10
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut
    Citation Envoyé par DotNetMatt Voir le message
    A tout hasard, as-tu déjà vu cet article : Donner le focus a un controle PictureBox ?
    Rien qu'à voir le nom, je peux répondre que non. Je vais regarder ça.

  11. #11
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut
    Ca avait l'air prometteur mais la méthode SetStyle n'est disponible que pour le UserControl lui même...

    Pas pour un de ses contrôles enfant...

    Ou alors, il faudrait que je crée une picturebox dérivée pour l'utilisée dans mon usercontrol...

    J'imagine que c'est ce que je vais devoir faire mais j'aurais autant aimé éviter ^^.

  12. #12
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Les Range(s ?) sont sélectionnables si j'ai bien compris, donc elles ont le focus ?

    Si non, au KeyPress de ton userControl, tu testes qu'une range est Selected et que le bouton soit Del, et si c'est ok tu lances ton performClick.


    Il faudrait trouver un moyen d'identifier qu'un range est sélectionné ...

    Sinon y'a les HotKeys mais ça serait un peu lourd pour l'usage voulu ...

  13. #13
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut
    Et bien voilà un problème de résolu !

    J'ai quand même dû me contraindre à créer une PictureBox custom. J'avais espéré pouvoir spécifier que c'était la picturebox incluse dans le usercontrol qui devait être selectable mais bon...

    Par contre, pas besoin de surcharger d'évènement. Voici donc pour info, le code (très simple) VB de la picturebox dérivée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Public Class SelectablePictureBox
        Inherits Windows.Forms.PictureBox
     
        Public Sub New()
            SetStyle(Windows.Forms.ControlStyles.Selectable, True)
        End Sub
     
    End Class
    Il n'y a alors plus qu'à donner le focus à la picturebox au moment opportun dans le code du usercontrol et le tour est jouer !

  14. #14
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut
    Citation Envoyé par _Ez3kiel Voir le message
    Les Range(s ?) sont sélectionnables si j'ai bien compris, donc elles ont le focus ?

    Si non, au KeyPress de ton userControl, tu testes qu'une range est Selected et que le bouton soit Del, et si c'est ok tu lances ton performClick.


    Il faudrait trouver un moyen d'identifier qu'un range est sélectionné ...

    Sinon y'a les HotKeys mais ça serait un peu lourd pour l'usage voulu ...
    Les ranges sont sélectionnables mais je triche ^^. Une range n'est représenté visuellement que par un dessin dans la picturebox. Donc au clic de la picturebox, je repère où se trouve la souris, je détermine la position du graphique et je regarde dans les ranges s'il y en a une qui englobe cette position. Si oui, au moment de la redessiner, je lui ajoute un cadre bleu ^^.

    Pour info, voici les bouts de code :
    L'event MouseClick de la picturebox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        Private Sub pb_MouseClick(sender As System.Object, e As System.Windows.Forms.MouseEventArgs) Handles pb.MouseClick
            If Not edit AndAlso Not IsNothing(DataSource) Then
                pb.Refresh()
                Dim time As Decimal = CDec((e.Location.X / (HorizontalIncrement / 4) * 0.25) + Math.Floor(StartHour))
                If IndexDgvOnMousePosition <= DataSource.Count - 1 AndAlso IndexDgvOnMousePosition >= 0 Then
                    _selectedRange = DataSource(IndexDgvOnMousePosition).GetRangeSurrounding(time)
                    If Not IsNothing(SelectedRange) Then
                        pb.Refresh()
                    End If
                End If
            End If
        End Sub
    Et bien sûr, son event Paint :
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
        Private Sub pb_Paint(sender As System.Object, e As System.Windows.Forms.PaintEventArgs) Handles pb.Paint
            Try
                Dim x, h, i, headerColHeight As Integer
                x = 0
    
                'traçage de l'entête
                h = Math.Floor(StartHour)
                headerColHeight = dgv.ColumnHeadersHeight
                e.Graphics.DrawLine(Drawing.Pens.Black, 0, headerColHeight, pb.Width, headerColHeight)
                While Not h > Math.Floor(EndHour)
                    e.Graphics.DrawLine(Drawing.Pens.Black, HorizontalIncrement * (h - Math.Floor(StartHour)), 0, HorizontalIncrement * (h - Math.Floor(StartHour)), pb.Height)
                    e.Graphics.DrawString(h.ToString, New Drawing.Font("arial", 10), Drawing.Brushes.Black, HorizontalIncrement * (h - Math.Floor(StartHour)), 0)
                    h += 1
                End While
    
                'traçagge des ranges horaires + écriture du texte
                h = 22 'hauteur d'une ligne DGV non resizée
                i = 0
    
                If Not IsNothing(DataSource) Then
    
                    For Each elem As Source In DataSource
                        e.Graphics.DrawLine(Drawing.Pens.Black, 0, headerColHeight + h * i, pb.Width, headerColHeight + h * i)
                        For Each rng As Range In elem.Ranges
                            e.Graphics.FillRectangle(New Drawing.SolidBrush(rng.Type.Color), CInt((HorizontalIncrement / 4) * ((rng.BeginTime - Math.Floor(StartHour)) / 0.25)), (headerColHeight + h * i) + 1, CInt((rng.EndTime - rng.BeginTime) / 0.25 * (HorizontalIncrement / 4)), h - 1)
                            e.Graphics.DrawString(rng.Text, New Drawing.Font("arial", 11), Drawing.Brushes.Black, CInt((HorizontalIncrement / 4) * ((rng.BeginTime - Math.Floor(StartHour)) / 0.25)) + 3, (headerColHeight + h * i) + 2)
    
                            If SelectedRange Is rng Then
                                e.Graphics.DrawRectangle(New Drawing.Pen(Drawing.Brushes.Blue, 3), CInt((HorizontalIncrement / 4) * ((SelectedRange.BeginTime - Math.Floor(StartHour)) / 0.25) + 1), (headerColHeight + h * i) + 2, CInt(((SelectedRange.EndTime - SelectedRange.BeginTime) / 0.25 * (HorizontalIncrement / 4)) - 3), 18)
                            End If
                        Next
                        i += 1
                    Next
                End If
            Catch ex As Exception
                Throw ex
            End Try
        End Sub
    En gras, la partie qui dessine le rectangle bleu ^^.

  15. #15
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Du coup, si tu fais un keypress sur ton usercontrol, et que ton SelectedRange est à true (Si selectedRange il y a, sinon au dessin du cadre bleu tu peux mettre un booléan SelectedRange à true), et sur le keypress de ton userControl, tu testes la touche Del, et que ton bool soit à true, et alors tu supprimes ton Range. (C'est une solution moins propre que de faire ta propre PictureBox comme tu as fait, mais c'est celle que j'avais en tête quand j'ai lu que tu ne voulais pas refaire une Custom PictureBox )

    Merci pour la partage de Code.

  16. #16
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut
    Citation Envoyé par _Ez3kiel Voir le message
    Du coup, si tu fais un keypress sur ton usercontrol, et que ton SelectedRange est à true (Si selectedRange il y a, sinon au dessin du cadre bleu tu peux mettre un booléan SelectedRange à true), et sur le keypress de ton userControl, tu testes la touche Del, et que ton bool soit à true, et alors tu supprimes ton Range. (C'est une solution moins propre que de faire ta propre PictureBox comme tu as fait, mais c'est celle que j'avais en tête quand j'ai lu que tu ne voulais pas refaire une Custom PictureBox )
    J'avais essayé ça mais mon usercontrol ne voulais pas prendre le focus non plus. Mais je ne connais pas encore SetStyle.
    Citation Envoyé par _Ez3kiel Voir le message
    Merci pour la partage de Code.
    Quand il sera complètement fini, je partagerai le contrôle au complet

  17. #17
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Citation Envoyé par Kropernic Voir le message
    J'avais essayé ça mais mon usercontrol ne voulais pas prendre le focus non plus. Mais je ne connais pas encore SetStyle.Quand il sera complètement fini, je partagerai le contrôle au complet
    Ca c'est bizarre ...
    Après je sais pas trop je me sers jamais de la classe UserControl ... Je crée une classe qui hérite de panel(ou d'une classe générique qui hérite de panel) et j'y incruste mes controls. Plus de libertés, apparement d'event à ce que tu me dis et pas de Control.Designer.Vb, donc moins de prises de tête à se battre contre le Designer.


    Hâte de voir le Control terminé.

  18. #18
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut
    Citation Envoyé par _Ez3kiel Voir le message
    Hâte de voir le Control terminé.
    Il y a aura sûrement encore des trucs à améliorer mais ce sera une très bonne base je pense.

    Suis pas un pro dans le choix des portées. D'ailleurs à part public et private, je n'utilise jamais rien d'autre...

  19. #19
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    J'ai eu le privilège d'avoir un bon prof qui nous a forcé à bien utiliser les private/public/Shared/Friend, etc. En tant que codeur perso qui code pour lui c'est pas trop important, mais ça aidera pour ceux qui reprennent le code après ...

  20. #20
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut
    Ah bin voilà, j'ai pas eu de prof moi .

    Enfin pas de prof .NET (ni OO d'ailleurs). .NET émergeait seulement quand je finissais en 2006. Bien sûr il existait déjà mais bcp trop jeune pour être au programme académique. J'ai par contre fait pas mal de cobol dont les labos se finissaient en session d'ascii art en mode console XD

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 13
    Dernier message: 30/05/2012, 11h42
  2. Gérer les évènements sur un UserControl
    Par wheelshot dans le forum Windows Forms
    Réponses: 10
    Dernier message: 02/04/2009, 16h52
  3. Réponses: 1
    Dernier message: 07/07/2008, 14h56
  4. Réponses: 3
    Dernier message: 15/02/2007, 13h04
  5. gérer l'évènement Click du contrôle Image
    Par naruto01 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 30/01/2007, 19h43

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