J'ai obtenu le code à travailler de sorte que lorsque j'appuie sur le bouton, "Ajouter plus", il ajoute plus de zones de liste déroulante au formulaire avec les noms dayBox1, dayBox2 et ainsi de suite.Impression de données à partir de zones de liste déroulante ajoutées dynamiquement?
C'est le code pour que:
private void addMoreBtn_Click(object sender, EventArgs e)
{
//Keep track of how many dayBoxes we have
howMany++;
//Make a new instance of ComboBox
ComboBox dayBox = new System.Windows.Forms.ComboBox();
//Make a new instance of Point to set the location
dayBox.Location = new System.Drawing.Point(Left, Top);
dayBox.Left = 13;
dayBox.Top = 75 + dayLastTop;
//Set the name of the box to dayBoxWhateverNumberBoxItIs
dayBox.Name = "dayBox" + howMany.ToString();
//The TabIndex = the number of the box
dayBox.TabIndex = howMany;
//Make it visible
dayBox.Visible = true;
//Set the default text
dayBox.Text = "Pick One";
//Copy the items of the original dayBox to the new dayBox
for (int i = 0; i < dayBoxO.Items.Count; i++)
{
dayBox.Items.Add(dayBoxO.Items[i]);
}
//Add the control to the form
this.Controls.Add(dayBox);
//The location of the last box's top with padding
dayLastTop = dayBox.Top - 49;
}
Quelle est la meilleure façon d'imprimer le membre sélectionné des boîtes ajoutés à l'événement bouton?
La façon dont j'imprimais les informations que je voulais un fichier avant était comme celui-ci (d'une seule case):
public void saveToFile()
{
FileInfo t = new FileInfo("Workout Log.txt");
StreamWriter Tex = t.CreateText();
Tex.WriteLine("---------------Workout Buddy Log---------------");
Tex.WriteLine("------------------- " + DateTime.Now.ToShortDateString() + " ------------------");
Tex.Write(Tex.NewLine);
if (dayBoxO.Text != "Pick One")
{
Tex.WriteLine("Day: " + dayBoxO.Text);
}
else
{
Tex.WriteLine("Day: N/A");
}
}
Je veux être en mesure de le faire pour chaque boîte, chacun sur une nouvelle ligne. Donc, ce serait comme: Jour: (le texte de la boîte 1) Jour: (le texte de la boîte2) Jour: (le texte de la boîte 3) et ainsi de suite ... Merci!