Я пытался изменить значение целого на вторую форму. У меня две формы. Первая - моя основная форма. Он содержит целое число, которое я пытаюсь изменить. Вторая форма - это моя форма выбора. Мне нужно изменить значение integer в первой форме, используя числовое updown на моей второй форме. Проблема в том, что каждый раз, когда я открываю вторую форму, она сбрасывает первую форму.C# Как изменить значение int в другой форме (форма окна)
Вот как открыть вторую форму на первой форме:
private void optionsToolStripMenuItem_Click(object sender, EventArgs e)
{
// I need to access the second form
frmOptions frmOptionsJeux = new frmOptions();
frmOptionsJeux.Show();
}
Второй код формы:
namespace TP3
{
public partial class frmOptions : Form
{
// I need to access the first form
frmPrincipal frmJeu = new frmPrincipal();
public frmOptions()
{
InitializeComponent();
// Sets the value of the Numeric UpDowns (boiteNbLignes & boiteNbColonnes
// nbLignesDansTableauDeJeu & nbColonnesDansTableauDeJeu are the two integers I need to modify.
boiteNbLignes.Value = frmJeu.nbLignesDansTableauDeJeu;
boiteNbColonnes.Value = frmJeu.nbColonnesDansTableauDeJeu;
}
//The integers are only modified when I click OK
private void btnOK_Click(object sender, EventArgs e)
{
AppliquerOptionsTaille();
this.Hide();
}
private void btnCancel_Click(object sender, EventArgs e)
{
this.Hide();
}
// How the integers are supposed to be modified
public void AppliquerOptionsTaille()
{
frmJeu.nbLignesDansTableauDeJeu = (int)boiteNbLignes.Value;
frmJeu.nbColonnesDansTableauDeJeu = (int)boiteNbColonnes.Value;
}
}
}
Я не знаю, что я делаю неправильно. Я пробовал как минимум 4 часа. Это для школьного проекта. Извините за французские слова в коде! (Французская школа)
'frmPrincipal frmJeu = new frmPrincipal(); 'создает первую форму * new *. Изменение чего-либо на 'frmJeu' меняет свойство на этой новой, но скрытой форме. Создайте конструктор 'frmOptions'' frmPrincipal'. Затем назовите его следующим образом: 'frmOptions frmOptionsJeux = new frmOptions (this);' – Rob
Спасибо! , У меня все еще есть проблема. Вызов AppliquerOptionsTaille невозможно. Вот что я сделал: public void AppliquerOptionsTaille (frmPrincipal frmJeu) – Mthb54
Но я не могу поместить ничего между() при вызове – Mthb54