Plus précisément en regardant la méthode "Arriv" dans la classe Customer. J'utilise une boucle for pour créer des instances de la classe client, et lorsque j'essaie d'écrire leurs heures d'arrivée dans un textBox (juste à des fins de test) la boîte de texte ne se met pas à jour. Pourquoi est-ce?TextBox ne se met pas à jour en C#
Ceci est juste un petit projet de simulation pour ma classe informatique. Il est à ses débuts, et est probablement faux dans beaucoup d'endroits!
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace QueueSimulation
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public void Form1_Load(object sender, EventArgs e)
{
MessageBox.Show("The form has loaded");
}
public void goButton_Click(object sender, EventArgs e)
{
Initialisers init = new Initialisers();
Customer customer = new Customer();
customer.Arrive();
}
private void stopButton_Click(object sender, EventArgs e)
{
// put code here to break out of the program
}
}
public class Customer : Initialisers
{
int waitingTime;
int arrivalTime;
int arrivalInterval;
Initialisers init = new Initialisers();
public void Arrive()
{
Customer[] customer = new Customer[1000];
int counter = 0;
for (int i = 1; i <= 10; i++)
{
customer[i] = new Customer();
customer[i].TimeArrived();
displayArrival.Text = displayArrival.Text + customer[i].TimeArrived().ToString();
// Implement something to either show the time in the queue if needed
Thread.Sleep(init.CustomerArriveTime*100);
}
MessageBox.Show("All of the customers have arrived");
}
public string TimeArrived()
{
return Convert.ToString(DateTime.Now);
}
public void Leave()
{
}
public void GetServed()
{
}
}
public class Server
{
bool servingStatus;
int servingTime;
public void Serve()
{
}
}
public class Initialisers : Form1
{
private int cust_no = 3;
public int CustomerArriveTime
{
get
{
return cust_no;
}
set
{
cust_no = value;
}
}
private int s_time = 4;
public int serveTime
{
get
{
return s_time;
}
set
{
s_time = value;
}
}
}
}
Avez-vous essayé le débogage? Ma supposition est client [i] .TimeArrived(). ToString() est juste une chaîne vide à chaque fois. – Peter
Même lorsque j'ajoute + "Test"; pour cela, il n'affiche rien. –
Trouvé le problème, voir la réponse ci-dessous. Veuillez cocher la bonne réponse s'il y en a une. – Peter