comment créer un bouton bascule dans vb.net

la programmation


bonjour, j’ai besoin de créer un bouton qui sert à cacher un objet étiquette ou à le faire réapparaître.
j’ai donc besoin que le bouton lorsqu’on appuie dessus s’enfonce comme un interrupteur et fasse disparaître l’étiquette et lorsqu’on appuie à nouveau, il se soulève et fasse apparaître l’étiquette.

une idée sur comment créer un bouton bascule ?

Solution 2

Vous pouvez utiliser une case à cocher à cet effet.
Vous pouvez également utiliser un bouton (poussoir) ordinaire, dans le gestionnaire d’événements de clic, activez simplement le bouton Visible propriété de l’étiquette :

VB
myLabel.Visible = Not myLabel.Visible

Solution 3

Un bouton à bascule n’est rien de plus qu’un simple bouton qui
demande une valeur (par exemple, ce booléen est-il vrai)
et après cela, un simple if(boolean == true) fais ceci, sinon fais cela

C#
boolean boo = false;

buttonPressed()
{
  if(boo == true)
  {
    boo = false;
    doSomething.Visible = true;
  }
  else
  {
    boo = true;
    doSomething.Visible = false;
  }
}

Solution 4

utilisez simplement ce code

VB
checkBox.Appearance = System.Windows.Forms.Appearance.Button

Solution 6

La définition par programme de toggle.checked = false ne déplacera pas la bascule vers la fausse position.

Solution 5

Je l’ai eu quelque part et ça marche à merveille !!!
1. Faites un clic droit sur le projet dans VS et sélectionnez « Ajouter » puis « Contrôle utilisateur… »
2. Nommez votre nouveau fichier “Toggle.vb”
3. Collez le code ci-dessous (veuillez faire ATTENTION à l’étape 4) :

VB.NET
Système d’importations.Dessin
Système d’importations.Dessin
Importe System.Drawing.Drawing2D
Importe System.Windows.Forms

Basculer la classe publique
Hérite de System.Windows.Forms.UserControl

Private _checked As Booléen
Propriété publique vérifiée comme booléenne
Obtenir
Retour _checked
Fin Obtenir
Set (valeur ByVal comme booléen)
Si ce n’est pas _checked.Equals(value) Alors
_checked = valeur
Moi.OnCheckedChanged()
Fin si
Ensemble de fin
Propriété de fin

Sous-marin protégé et remplaçable OnCheckedChanged()
RaiseEvent CheckedChanged (Moi, EventArgs.Empty)
Fin du sous-marin

Événement public CheckedChanged (expéditeur ByVal en tant qu’objet, ByVal et As EventArgs)

Remplacements protégés Sub OnMouseClick (e As MouseEventArgs)
Moi.Checked = Pas Moi.Checked
Moi.Invalider()
MaBase.OnMouseClick(e)
Fin du sous-marin

Remplacements protégés Sub OnPaint (ByVal et As PaintEventArgs)
Moi.OnPaintBackground(e)
e.Graphics.SmoothingMode = SmoothingMode.AntiAlias

Utilisation de path = New GraphicsPath()
Dim d = Rembourrage.Tout
Dim r = Me.Hauteur – 2 * d
chemin.AddArc (d, d, r, r, 90, 180)
chemin.AddArc(Me.Width – r – d, d, r, r, -90, 180)
chemin.CloseFigure()
e.Graphics.FillPath(If(Checked, Brushes.DarkGray, Brushes.LightGray), chemin)
r = Hauteur – 1
Dim rect = If(Checked, New System.Drawing.Rectangle(Width – r – 1, 0, r, r), New System.Drawing.Rectangle(0, 0, r, r))
e.Graphics.FillEllipse (Si (Coché, Brushes.Green, Brushes.LightSlateGray), rect)
Fin de l’utilisation
Fin du sous-marin
Fin du cours

4. Basculez vers votre formulaire et faites glisser votre contrôle « bascule » de la boîte à outils vers le formulaire (dans certains cas, le bouton bascule n’apparaît pas immédiatement dans la boîte à outils. Dans ce cas, vers ce qui suit :
Aller à Outils > Options > Concepteur Windows Forms > Général
Au bas de la liste, vous trouverez Toolbox > AutoToolboxPopulate qui, lors d’une nouvelle installation, est par défaut False. Définissez-le sur vrai, puis reconstruisez votre solution. Les contrôles utilisateur de votre solution doivent être automatiquement ajoutés à la boîte à outils. Vous devrez peut-être également recharger la solution.

Si votre contrôle utilisateur se trouve dans une bibliothèque, vous pouvez l’ajouter à votre boîte à outils en utilisant
Boîte à outils -> clic droit -> Choisir les éléments -> Parcourir
Sélectionnez votre assemblage avec le contrôle utilisateur.
5. La taille et les paramètres peuvent être modifiés comme un contrôle standard
6. Les couleurs peuvent être modifiées dans la méthode OnPaint de Toggle Class
Code C# :
en utilisant System.Drawing ;
en utilisant System.Drawing.Drawing2D ;
en utilisant System.Windows.Forms ;

espace de noms Votre_Nom_Projet
{
bascule de classe : CheckBox
{
bascule publique()
{
SetStyle(ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint, true);
Remplissage = nouveau Remplissage(6);
}
remplacement protégé void OnPaint (PaintEventArgs e)
{
this.OnPaintBackground(e);
e.Graphics.SmoothingMode = SmoothingMode.AntiAlias ;
en utilisant (var path = new GraphicsPath())
{
var d = Rembourrage.Tout;
var r = this.Hauteur – 2 * d;
chemin.AddArc(d, d, r, r, 90, 180);
chemin.AddArc(this.Width – r – d, d, r, r, -90, 180);
chemin.CloseFigure();
e.Graphics.FillPath (Coché ? Brushes.DarkGray : Brushes.LightGray, chemin);
r = Hauteur – 1 ;
var rect = Vérifié ? nouveau System.Drawing.Rectangle (Largeur – r – 1, 0, r, r)
: nouveau System.Drawing.Rectangle(0, 0, r, r);
e.Graphics.FillEllipse (Coché ? Brushes.Green : Brushes.LightSlateGray, rect);
}
}
}
}

ci-dessous le lien vers la source originale :

[^]

コメント

タイトルとURLをコピーしました