Activer un bouton avec autre form

Résolu
cs_Byrong Messages postés 224 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 24 juillet 2013 - 26 août 2010 à 16:03
cs_Byrong Messages postés 224 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 24 juillet 2013 - 26 août 2010 à 22:53
Bonjour

Sur le form1,
J'ai un bouton qui ouvre un formulaire de configuration
et un autre qui permet de démarrer l'application.

J'aimerais obligé l'utilisateur a régler le logiciel avant de le lancer. Pour cela j'aimerais que le deuxieme bouton du form1 soit en enabled=true lorsque le bouton du deuxieme form(valider) est acivé par le clic de l'utilisateur


J'ai deja essayer dans le deuxieme form de mettre
Form1 frm = new Form1();
frm.button1.enabled=true;


Il ne m'affiche pas d'erreur de syntaxe mais ne fonctionne pas

merci pour votre aide

9 réponses

cs_Byrong Messages postés 224 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 24 juillet 2013
26 août 2010 à 22:53
J'ai reussi en fait j'ai du faire cela

Lors de l'ouverture du form 2
            Form Form2 = new Form2(this);
            Form2.ShowDialog();


Et dans le form2, j'ai du mettre
    public partial class Form2 : Form
    {
        Form1 Parent;

        public Form2(Form1 f)
        {
            InitializeComponent();
            Parent = f;
        }
....

Parent.button1.Enabled=true;
this.close
....


merci pour tout en tout cas
3
cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
26 août 2010 à 16:28
Bonjour

ça devrait marcher, mais tout dépend à quel moment le bouton est Disable dans form1.
si c'est dans le InitializeComponent() c'est bon, mais si c'est dans le FormLoad c'est pas bon, car le FormLoad sera appelé lorsque la fenetre sera affichée.

Si au moment ou tu crées Form1 tu sais si le bouton doit ou non être activé, il vaut mieux passer un parametres à la création
genre:
Form1 frm = new Form1(true);

et le constructeur de Form1
public Form1(bool enableButton)
{
InitializeComponent();
button1.enabled=enableButton;
...
}


Bob
C# is amazing, enjoy it!
0
cs_Byrong Messages postés 224 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 24 juillet 2013
26 août 2010 à 19:50
par contre cela ne marche pas chez moi...
0
cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
26 août 2010 à 21:08
Salut Byrong

Il n'y a pas de raison, la méthode est bonne.
il doit bien y avoir une raison pour qu'il reste disable ce fichu bouton, et venant de toi j'ai du mal à croire que tu n'arrives pas à trouver le probleme, tu t'es mesuré à plus difficile

Cherche ou tu le rends Disable (pose un break sous debugger).
Je suis certain que tu vas trouver

Bob
C# is amazing, enjoy it!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Byrong Messages postés 224 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 24 juillet 2013
26 août 2010 à 21:27
ok merci je te tiens au courant
0
cs_Byrong Messages postés 224 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 24 juillet 2013
26 août 2010 à 21:31
j ai fait une recherche rapide dans mon projet et il n'est la qu'une fois, et c'est dans la méthode qui tu m'a donné
0
cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
26 août 2010 à 22:14
Ok, alors il doit y avoir un malentendu.

Pour empecher l'utilisation du bouton tu dois mettre Enable=false
pour l'autoriser : Enable=true;

Dans le cas que tu donnes, il me semble que tu dois positioner Enable=False à la création de la fenetre (dans le constructeur)
ensuite quand l'utilisateur à validé les parametres tu dois positionner Enable=true depuis l'autre formulaire, pour ce faire tu dois avoir une méthode public, ou une proriété public, dans la class du formulaire contenant ce fameux bouton.

Ex:
public class Form1
{
public void EnableButton()
{
button1.enabled=true;
}
public Form1()
{
InitializeComponent();
button1.enabled=false; // inhibé par défaut à la création
...
}
...
}

Dans l'appelant:

Form1 frm = new Form1();
frm.Show();

plus tard lorsque les parametres sont validés...

frm.EnableButton();



C# is amazing, enjoy it!
0
cs_Byrong Messages postés 224 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 24 juillet 2013
26 août 2010 à 22:30
je viens de tester et ca ne marche pas non plus.

En fait, j'ai oublié de te dire que le form1, est toujours ouvert.

mon bouton est mis en public, fin j'ai tout essayer... je comprend pas pourquoi ca ne marche pas
0
cs_Byrong Messages postés 224 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 24 juillet 2013
26 août 2010 à 22:37
je viens de tester avec un nouveau projet avec 2form et 3 bouton pour tester et ca ne amrche pas non plus.
0
Rejoignez-nous