Bonjour tout le monde ,
J'ai un petit soucis au niveau de mon application WPF
En fait elle est composée de 2 fichiers : MainWindow.xaml et Form2.xaml (qui eux même contiennent MainWindow.xaml.cs et Form2.xaml.cs)
Le principe est simple l'utilisateur entre dans MainWindow et choisi un élément de la combobox ( mode connecté ou déconnecté) ,
Si c'est le premier élément la variable booléenne flag = true sinon flag=false.
Puis l'utilisateur clique sur le bouton Envoyer qui ferme MainWindow et ouvre Form2.
Je veux récupérer la valeur de flag au niveau de Form2.
Pour celà J'ai surchargé le constructeur de Form2 avec un paramètre de type bool , regardez un peu mon code :
MainWindow.xaml.cs
Au niveau de la ligne 72 je surchage Form2(flag) avec un paramètre mais je ne sais pas si c'est comme ça que ça va marcher !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace WpfApplication3 { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public static bool flag = true; public MainWindow() { InitializeComponent(); } private void button1_Click(object sender, RoutedEventArgs e) { //Bouton Fermer this.Close(); } private void button2_Click(object sender, RoutedEventArgs e) { //bouton Envoyer } private void comboBox1_SelectionChanged(object sender, SelectionChangedEventArgs e) { Object selectedItem = comboBox1.SelectedItem; int selectedIndex = comboBox1.SelectedIndex; if (comboBox1.SelectedIndex.Equals(0)) { flag = true; MessageBox.Show(""+flag); } if (comboBox1.SelectedIndex.Equals(1)) { flag = false; MessageBox.Show("" + flag); } } private void button2_Click_1(object sender, RoutedEventArgs e) { Form2 form2 = new Form2(); form2.Show(); this.Close(); } public Form2 window2 = new Form2(flag);// Je ne sais pas si c'est comme ça que je dois m'y prendre } }
Form2.xaml.cs
Merci de bien vouloir m'aider car je bloque complètement et l'avancement de l'application s'est arrêté complètement .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; namespace WpfApplication3 { /// <summary> /// Interaction logic for Form2.xaml /// </summary> public partial class Form2: Window { bool cool; // cool est la nouvelle variable qui prend la valeur de flag public Form2() { InitializeComponent(); MessageBox.Show("" + cool); //j'affiche la valeur de cool } private void button1_Click(object sender, RoutedEventArgs e) { this.Close(); } public Form2(bool cool) { this.cool = cool; } } }
Merci pour votre aide
Partager