none
Comment créer un bouton de forme triangulaire dans un windows form ?

    Question

  • Bonjour,

    afin de réaliser une interface graphique intuitive pour l'utilisateur, j'aimerais ajouter 6 bouton de forme triangulaire afin une fois collé les un aux autres de former un hexagone.

     

    mais il est possible d'agandir ou de diminuer la taille d'un bouton, je ne sais pas comment faire pour en modifier la forme générale.

     

    avez vous une idée qui pourrais m'aider.

     

    merci d'avance pour votre aide.

    Friday, January 28, 2011 1:08 PM

Answers

All replies

  • Bonjour Vinowan,

    Me concernant, bien qu'il y ait peut être mieux et plus simple, je prends des pictures de fond identique au fond de la form, dessinant ou récupérant des image pour faire le bouton, et sur le clique je décale L + H de 2 pixels, puis je reviens en place (pour simuler) ... etc ...

    Cordialement.

     

     



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire
    Friday, January 28, 2011 1:21 PM
  • Merci pour l'aide,

    mais j'ai encore quelque questions:

    - comment faire pour loader par programme sans l'aide du concepteur de vue, une image qui se trouve dans les ressources dans une picturebox ?

      j'ai essayer entre autre picturebox.image.fromfile = "bouton ovale.jpg" mais cela ne fonctionne pas

    - avec cette solution qui me parait pas trop mal, si je click à coté du dessin mais toujours dans le cadre de la picturebox le click sera je pense valider ainsi que je n'ai pas clicker visuelement sur le bouton?

     

    merci d'avance.

    Friday, January 28, 2011 2:36 PM
  • Bonjour,

    Pour charger une image, j'utilise cette méthode, qui fonctionne bien mais il y a peut-être d'autres solutions !

     

     Private Function NewBitmap(ByVal FileName As String) As Bitmap
      Dim strm As System.IO.Stream = Nothing
      NewBitmap = Nothing
      Try
       strm = Me.GetType().Assembly.GetManifestResourceStream(FileName)
       NewBitmap = New Bitmap(strm)  ' Bitmap spécifique
       'Faire de même pour Icons
       'Dim icon1 As Icon = New Icon(strm)
      Catch e As Exception
      Finally
       If Not strm Is Nothing Then strm.Close()
      End Try
     End Function
    
    

     

    Cordialement

     


    Alain
    Friday, January 28, 2011 5:19 PM
  • Bonsoir vibowan,

    Pour la picture depuis une ressource (déclarée hein), tu peux faire en court :

    PictureBox1.Image = My.Resources.NonRessoucreProposéDansListeAuto

    Alors oui, en effet, si tu cliques dans le cadre ça va fonctionner comme tu le dis, alors tu peux tester si le clique est ou n'est pas dans ton dessins en testant en fait pas position du curseur, mais en triangle c'est moins facile qu'en angles droits, comme suit :

    Sub Button1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseDown
     If (e.Button = MouseButtons.Left) Then positionClick = e.Location
    End Sub
    

    Je crois que e.locatioin se subdivise en X et Y, vois quand tu auras écrit le mot avec un "point" ce que la liste te propose, in fine, il est préférable de le faire en dynamyque par rapport à l'image, ainsi si tu déplace celle-ci, le calcul suivra.

    Cordialement.

     



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire
    Friday, January 28, 2011 7:23 PM
  • Bonjour,

     

    Je vous propose aussi ce tutoriel :

    Dessiner un bouton avec une forme customisée

     

    J’avoue que mes compétences graphiques pourraient être grandement améliorées, mais le principe reste le même et je suis sûr que votre résultat final sera mieux J

     

    Cordialement,

    Alex

    ________________

    Publiez un article sur MSDN !

    Windows Phone 7

    Astuces pour Visual Studio 2010

    XNA – Développement jeux vidéo

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, SharePoint, WPF

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

     


    Suivez MSDN sur Twitter 

    Monday, January 31, 2011 3:24 PM
  • Bonjour,

    Si jamais le lien que Alex a donné pose problème il existe des convertisseurs C# <=> VB.NET très performants comme : http://www.developerfusion.com/tools/convert/csharp-to-vb/

    J'ai également déjà utilisé l'excellent CButton de Scott Snyder (voir ici : http://www.codeproject.com/KB/buttons/CButton.aspx?display=Print)


    N'hésitez pas à poser des questions si un problème subsiste ou quelque chose n'est pas clair. Dans l'autre cas, veuillez indiquer que le problème est résolu. Cordialement.
    Monday, January 31, 2011 4:41 PM
  • bonjour, j'essaie de realiser ce code (du didactitiel proposé par Alex Petrescu <abbr class="affil"> )</abbr> <abbr class="affil" /> en vb, mais je bloque sur plusieur erreur du compilateur

    inhirit button par exemple pose probleme.

    j'ai essayer d'utiliser le convertisseur de code C# vers vb mais la aussi il y a des hic.

     

    ce didacticiel existerait il pour vb.net?

     

    merci d'avance.

    Friday, February 04, 2011 3:02 PM