Meilleur auteur de réponses
Faire des boutons personnalisés et interaction avec PictureBox

Question
-
Bonjour à tous,
Je voudrais créer des boutons personnalisés. Pour cela je possède trois images, les images par défaut, les images quand le bouton est survolé et les images quand le bouton est enfoncé.
J'aimerai savoir comment à partir de ces images faire des boutons personnalisés.
Autre question : Quelle est la commande pour minimiser l'application dans la barre des tâches ?
Et pour finir, j'aimerai savoir comment faire pour que lors d'un glisser-déposer sur une PictureBox ça bouge la fenêtre, comme l'interface Windows !
Merci d'avance !
Réponses
-
Bonjour,
Pour afficher une image sur un bouton, utilisez la propriété BackgroundImage
Pour minimiser l’application :
Me.WindowState = FormWindowState.Minimized
Pour déplacer un PictureBox, utilisez le code suivant :
Private myclick As Boolean = False
Private mypoint As Drawing.Point
Private Sub PictureBox1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown
myclick = True
mypoint = New Point(e.X, e.Y)
End Sub
Private Sub PictureBox1_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseUp
myclick = False
End Sub
Private Sub PictureBox1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove
If myclick = True Then
Me.PictureBox1.Left = Me.PictureBox1.Left + e.X - mypoint.X
Me.PictureBox1.Top = Me.PictureBox1.Top + e.Y - mypoint.Y
End If
End Sub
Cordialement,
Alex
________________
Publiez un article sur une de ces technologies : Visual Basic, C#, C++, .NET, ASP.NET, SQL Server, Silverlight, SharePoint 2010, SharePoint 2007
Astuces pour Visual Studio 2010
Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Workflow Foundation
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.
- Marqué comme réponse Alex Petrescu mardi 29 juin 2010 08:31
-
Bonjour,
Pour commencer, le BackgroundImage ne met qu'une image de fond avec les bords, et soit l'image est coupée, soit il y a une bordure blanche, bref ce n'est pas très bien. Il faudrait pouvoir faire une PictureBox dynamique...
Jonglez avec la propriété BackgroundImageLayout.Autre problème, le code pour bouger la PictureBox ne bouge que la PictureBox, or j'aimerai que ça bouge toute la form !
Reprennez le code de M. PETRESCU comme ceci :Me.Left = Me.Left + e.X - mypoint.X Me.Top = Me.Top + e.Y - mypoint.Y
Cordialement
Gilles TOURREAU - MVP C# - MCTS Windows Forms - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr- Marqué comme réponse Alex Petrescu mardi 29 juin 2010 08:31
-
Bonjour,
Pour extraire votre exécutable :
' Récupérer un nom de fichier temporaire Dim fichierTemp As String fichierTemp = System.IO.Path.Combine(System.IO.Path.GetTempPath(), "MyExe.exe") System.IO.File.WriteAllBytes(fichierTemp, My.Resources.InstallWoW)
Et si c'est possible, comment faire un SVN Checkout sur un dossier au clic sur un bouton ?
Il faudra voir du côté de la communauté SVN pour cette question...Cordialement
Gilles TOURREAU - MVP C# - MCTS Windows Forms - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr- Marqué comme réponse Gilles TOURREAUModerator mardi 29 juin 2010 20:01
Toutes les réponses
-
Bonjour,
Pour afficher une image sur un bouton, utilisez la propriété BackgroundImage
Pour minimiser l’application :
Me.WindowState = FormWindowState.Minimized
Pour déplacer un PictureBox, utilisez le code suivant :
Private myclick As Boolean = False
Private mypoint As Drawing.Point
Private Sub PictureBox1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown
myclick = True
mypoint = New Point(e.X, e.Y)
End Sub
Private Sub PictureBox1_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseUp
myclick = False
End Sub
Private Sub PictureBox1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove
If myclick = True Then
Me.PictureBox1.Left = Me.PictureBox1.Left + e.X - mypoint.X
Me.PictureBox1.Top = Me.PictureBox1.Top + e.Y - mypoint.Y
End If
End Sub
Cordialement,
Alex
________________
Publiez un article sur une de ces technologies : Visual Basic, C#, C++, .NET, ASP.NET, SQL Server, Silverlight, SharePoint 2010, SharePoint 2007
Astuces pour Visual Studio 2010
Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Workflow Foundation
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.
- Marqué comme réponse Alex Petrescu mardi 29 juin 2010 08:31
-
Merci pour le code pour minimiser la fenêtre, ça m'a bien avancé dans mon projet !
Mais je rencontre des problèmes.
Pour commencer, le BackgroundImage ne met qu'une image de fond avec les bords, et soit l'image est coupée, soit il y a une bordure blanche, bref ce n'est pas très bien. Il faudrait pouvoir faire une PictureBox dynamique...
Autre problème, le code pour bouger la PictureBox ne bouge que la PictureBox, or j'aimerai que ça bouge toute la form !
Merci !
edit : et j'aimerai aussi savoir comment compiler un .exe dans un projet pour que l'utilisateur puisse le lancer au clic sur un bouton...
-
Bonjour,
Pour commencer, le BackgroundImage ne met qu'une image de fond avec les bords, et soit l'image est coupée, soit il y a une bordure blanche, bref ce n'est pas très bien. Il faudrait pouvoir faire une PictureBox dynamique...
Jonglez avec la propriété BackgroundImageLayout.Autre problème, le code pour bouger la PictureBox ne bouge que la PictureBox, or j'aimerai que ça bouge toute la form !
Reprennez le code de M. PETRESCU comme ceci :Me.Left = Me.Left + e.X - mypoint.X Me.Top = Me.Top + e.Y - mypoint.Y
Cordialement
Gilles TOURREAU - MVP C# - MCTS Windows Forms - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr- Marqué comme réponse Alex Petrescu mardi 29 juin 2010 08:31
-
-
Bonjour,
Vous voulez inclure un exécutable dans votre projet ?
Cordialement,
Alex
________________
Publiez un article sur une de ces technologies : Visual Basic, C#, C++, .NET, ASP.NET, SQL Server, Silverlight, SharePoint 2010, SharePoint 2007
Astuces pour Visual Studio 2010
Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Workflow Foundation
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.
-
-
Ajouter un "process" puis dans ses propriétés "startinfo" il faut indiquer où se trouve l'exécutable (ou un autre fichier) grâce à "filename". Dans le code de ton bouton tu n'as plus qu'à inscrire:
Process1.Start()
Si tu n'arrives pas tu peux regarder cette vidéo en deux parties: http://www.youtube.com/watch?v=d3ZVWLTHp1A&feature=related
http://www.youtube.com/watch?v=eo9zIlZcrpQ&NR=1
Mes meilleures salutations, Jojo
-
-
-
-
Bonjour,
Vous ne pouvez pas lancer directement un executable qui se trouve dans des ressources. Vous devez extraire votre executable et le lancer, ou alors déployer votre exécutable avec l'excutable qui le lance.
Cordialement
Gilles TOURREAU - MVP C# - MCTS Windows Forms - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr -
-
Bonjour,
Pour extraire votre exécutable :
' Récupérer un nom de fichier temporaire Dim fichierTemp As String fichierTemp = System.IO.Path.Combine(System.IO.Path.GetTempPath(), "MyExe.exe") System.IO.File.WriteAllBytes(fichierTemp, My.Resources.InstallWoW)
Et si c'est possible, comment faire un SVN Checkout sur un dossier au clic sur un bouton ?
Il faudra voir du côté de la communauté SVN pour cette question...Cordialement
Gilles TOURREAU - MVP C# - MCTS Windows Forms - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr- Marqué comme réponse Gilles TOURREAUModerator mardi 29 juin 2010 20:01
-
-
Bonjour,
Quelle erreur se produit ? Est-ce un logiciel à vous qui est lancé ou celui d'un éditeur tiers ?
Cordialement
Gilles TOURREAU - MVP C# - MCTS Windows Forms - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr -
-
Bonjour,
le programme ne réponds
Lequel ?Cordialement
Gilles TOURREAU - MVP C# - MCTS Windows Forms - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr -
-
Bonjour,
Pour être plus clair : C'est celui qui est lancé ou celui qui lance l'application ?
Cordialement
Gilles TOURREAU - MVP C# - MCTS Windows Forms - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr -
C'est celui qui lance l'application, mais c'est bon le problème est réglé, juste à remplacer Process.Start() par Shell().
J'ai essayé d'adapter le code donné plus haut pour que le coin haut gauche de PictureBox3 suive la souris, mais je n'ai pas réussi. Quelqu'un pourrais m'aider ?
-
Bonjour,
Quel est votre problème ?
Merci de bien vouloir éviter de poser questions dans la même conversation !
Cordialement
Gilles TOURREAU - MVP C# - MCTS Windows Forms - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr