Je sais que c'est probablement une question très nouveau, alors je m'en excuse. J'essaie d'accéder à la propriété Text d'une étiquette sur Form1 à partir d'un autre formulaire, MaxScore.Une référence d'objet est requise pour le champ, la méthode ou la propriété non statique?
Lorsque je clique sur le bouton Ok sur MaxScore, je veux définir myGameCountLbl.Text de Form1 à la variable de Form1, max en utilisant max.ToString().
Voici mon code en cas de bouton OK de MaxScore:
private void okBtn_Click(object sender, EventArgs e)
{
Form1.myGameCountLbl.Text = Form1.max.ToString();
Form1.compGameCountLbl.Text = Form1.max.ToString();
}
Mais quand je vais compiler, je reçois l'erreur:
An object reference is required for the non-static field, method, or property 'Towergame_2.Form1.myGameCountLbl'
je reçois la même erreur pour Towergame_2 .Form1.max et Towergame_2.Form1.compGameCountLbl.
Vous ne savez pas trop comment résoudre ce problème. Max est une variable publique et les deux étiquettes sont également publiques.
Merci!
Voici le code dans mon constructeur (merci lassevk pour le code!):
public Form1()
{
//initialize vars
myHp = 100;
compHp = 100;
youWon = 0;
compWon = 0;
money = 100;
canCompAttack = true;
gameOver = false;
//show HowToPlay Dialogue
HowToPlay howToPlay = new HowToPlay();
howToPlay.ShowDialog();
using (MaxScore maxScore = new MaxScore())
{
maxScore.MainForm = this;
maxScore.ShowDialog();
}
InitializeComponent();
}
Lorsque j'ajoute tout cela et que j'essaie de compiler et d'exécuter, appuyez sur ok sur le bouton MaxScore, j'obtiens une exception à: MainForm.myGameCountLbl.Text = MainForm.max.ToString(); disant: NullReferenceException n'a pas été gérée. La référence d'objet n'est pas définie à une instance d'un objet. – Eric
Avez-vous réellement défini MainForm, comme je l'ai montré dans le dernier morceau de code? –
Oui, je l'ai fait. J'ai le dernier morceau de code dans mon constructeur Form1. – Eric