-1
votes

Comment masquer un bouton sous un formulaire de la deuxième forme en C #

J'ai un projet C # qui a 2 formes. Le premier a 3 boutons. Je dois être capable de la deuxième forme pour masquer les boutons 2 (Button1 et Button2) avec une case à cocher, et je ne sais pas comment appeler les boutons du premier formulaire.

Ceci est form1 p>

namespace test1
{
public partial class Form2 : Form
{
    public Form2()
    {
        InitializeComponent();
    }

    private void Form2_Load(object sender, EventArgs e)
    {
        checkBox1.Checked = Properties.Settings.Default.checkB;

        if (checkBox1.CheckState == CheckState.Checked)
        {
            ?????????
        }
      }

    private void Form2_FormClosing(object sender, FormClosingEventArgs e)
    {
        Properties.Settings.Default.checkB = checkBox1.Checked;
        Properties.Settings.Default.Save();
    }
   }
 }


0 commentaires

4 Réponses :


0
votes

Vous devez effectuer les boutons sur le premier formulaire public, puis vous pouvez y accéder une fois que vous avez créé une instance du premier formulaire, vous devrez transmettre ce formulaire sur le deuxième formulaire.


4 commentaires

salut j'essaye cela et ne fonctionne pas le bouton est public si (btclienti.checkstetate == contrôle.Checked) {Main FR = nouveau principal (); fr.button1.Visible = vrai; }


Non, vous ne pouvez pas créer une nouvelle instance dont vous avez besoin pour passer le 1er formulaire sur le deuxième constructeur de formulaires poster le code lorsque vous créez le deuxième formulaire.


salut j'essaie de trouver quelque chose comme vous l'avez dit, mais je n'ai pas réussi s'il vous plaît pouvez-vous me donner un exemple ou un lien où puis-je lire à ce sujet


Publiez votre code de fabrication de la deuxième forme et de le montrer



0
votes

J'aurais peut-être envie de construire un événement qui déclenche d'une forme et est géré par l'autre formulaire pour désactiver le bouton.


0 commentaires

0
votes

Une autre option consiste à transmettre le formulaire en tant que "propriétaire" de la commande show (): xxx

dans le formulaire, jetez la propriété du propriétaire à la formulaire1 afin que vous puissiez y accéder (en supposant Vous avez changé la propriété des modificateurs des boutons vers le public comme déjà suggéré): xxx

C'est presque exactement ce que j'avais posté précédemment ... Vous devez changer les modificateurs la propriété des boutons afin qu'ils soient publics et que ce soit de form2.


4 commentaires

merci pour la réponse que j'ai essayée et cela me donne une erreur et je ne veux pas que la forme1 crée form2


Quelle erreur avez-vous obtenu? Quels sont vos noms de forme? Quelle forme crée qui? Donnez-nous des détails, s'il vous plaît; Nous ne pouvons pas voir par magie le reste de votre code ...


merci pour l'aide, j'ai posté le code, je suis désolé je n'ai pas donné plus de détails


"Et je ne veux pas que cette forme1 crée form2" lol ... C'est exactement ce que vous faites dans votre code posté. Je vais mettre un exemple bientôt.



1
votes

C'est la version finale qui fonctionne dans mon cas grâce à ceux qui ont répondu à ma question et m'ont aidé à obtenir cette réponse

form1 p> xxx pré>

form2 p >

namespace test1
{
public partial class Form2 : Form
{
    public Form2()
    {
        InitializeComponent();
    }

    private void Form2_Load(object sender, EventArgs e)
    {
        checkBox1.Checked = Properties.Settings.Default.checkB;

        if (checkBox1.CheckState == CheckState.Checked)
        {
            Form1 f1 = (Form1)this.Owner;
            f1.button1.Visible = false; 
        }
    }

    private void Form2_FormClosing(object sender, FormClosingEventArgs e)
    {
        Properties.Settings.Default.checkB = checkBox1.Checked;
        Properties.Settings.Default.Save();
    }
}
}


0 commentaires