si je démarre mon application C# Windows Form, les boutons se bloque, car il est cycle infini. Je veux voir le changement de valeur variable de Bouton2 cliquez dans la boucle infinie de button1 à travers la variable globaleLe bouton se bloque avec la boucle infinie
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace XX_5
{
public partial class Form1 : Form
{
private int g;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int i = 0;
for (;;)
{
textBox1.AppendText("ID: [" + i++ + "] Variable value: [" + g + "]\n");
}
}
private void button2_Click(object sender, EventArgs e)
{
g = 1;
}
}
}
Vous devez lire sur les discussions. Si vous démarrez une boucle comme celle de votre thread d'interface utilisateur principal, cela l'empêche de faire quoi que ce soit d'autre. Il serait également utile si vous avez expliqué pourquoi vous essayez de faire cela ... votre code n'a pas beaucoup de sens. –
@Grant Winney bonjour, pouvez-vous me montrer sur un exemple comment faire la même chose mais juste, boucle infinie dans l'interface graphique et la valeur de bouton2 pour traiter à l'intérieur du bouton1 Je veux juste le changer lorsque le bouton 2 est pressé –
trop large, en particulier étant donné le nombre de questions et réponses qui existent déjà sur Stack Overflow qui répondent au concept de base de ** ne pas bloquer le thread d'interface utilisateur **. Un seul thread gère le dessin de l'interface utilisateur. Si vous ne laissez pas ce thread faire quoi que ce soit d'autre, parce que vous êtes coincé dans une boucle infinie, le fait de retirer l'interface utilisateur ne se produira pas. Voir le duplicata marqué pour quelques conseils sur la façon de traiter cela. –