cyse
Elite
Hello Je connais rien en dotnet et j'au voulu voir un peu à quoi ça ressemble, donc j'ai téléchargé visual C# express 2005 qui est gratuit, et en essayant j'ai trouvé çà tellement confortable que je me suis attardé je connais pas le langage donc c'est surement très con comme problème mais ça m'énèrve de pas trouver !
Donc en faites c'est un programme, quand on clique sur un bouton, ca ouvre une autres fenêtre ou l'on peut introduire du texte, puis quand on clique sur OK, la deuxième fenêtre se ferme et je récupère le texte dans la première fenêtre.
Le problème c'est que la deuxième fenêtre plante à cause de la boucle while... :'(
voici la première :
quand on clique sur le bouton, ça fait un nouveau thread, ce nouveau thread ouvre la deuxième fenêtre et fait une boucle while tant qu'on a pas appuyé sur OK dans la deuxième fenêtre :
La deuxième :
j'ai fais un nouveau thread en me disant ça empêchera au while de faire lagguer (bien qu'avec le sleep ça devrait pas arriver) mais sans succès
zen pensez quoi ?
Donc en faites c'est un programme, quand on clique sur un bouton, ca ouvre une autres fenêtre ou l'on peut introduire du texte, puis quand on clique sur OK, la deuxième fenêtre se ferme et je récupère le texte dans la première fenêtre.
Le problème c'est que la deuxième fenêtre plante à cause de la boucle while... :'(
voici la première :
quand on clique sur le bouton, ça fait un nouveau thread, ce nouveau thread ouvre la deuxième fenêtre et fait une boucle while tant qu'on a pas appuyé sur OK dans la deuxième fenêtre :
Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace esquisse
{
public partial class Form1 : Form
{
private String element = "";
private Thread _panel;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
_panel = new Thread(new ThreadStart(ThrFunc1));
_panel.Start();
_panel.
}
private void ThrFunc1()
{
Form2 dial = new Form2();
dial.Show();
while (!dial.getStatut())
{
Thread.Sleep(400);
}
element = dial.getElement();
}
}
}
Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace esquisse
{
public partial class Form2 : Form
{
private String element;
private bool statut = false;
public Form2()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
private void button1_Click(object sender, EventArgs e)
{
element = textBox1.Text;
this.statut = true;
}
public bool getStatut()
{
return statut;
}
public String getElement()
{
return element;
}
}
}
zen pensez quoi ?