Я знаю, что это, вероятно, очень новичок, поэтому я извиняюсь.Ссылка на объект требуется для нестатического поля, метода или свойства?
Я пытаюсь получить доступ к свойству Text метки на Form1 из другой формы MaxScore.
Когда я нажимаю кнопку «ОК» на MaxScore, я хочу установить Form1 myGameCountLbl.Text для переменной Form1 max, используя max.ToString().
Вот мой код в OK случае кнопка MaxScore:
private void okBtn_Click(object sender, EventArgs e)
{
Form1.myGameCountLbl.Text = Form1.max.ToString();
Form1.compGameCountLbl.Text = Form1.max.ToString();
}
Но когда я иду собрать его, я получаю сообщение об ошибке:
An object reference is required for the non-static field, method, or property 'Towergame_2.Form1.myGameCountLbl'
я получаю ту же ошибку для Towergame_2 .Form1.max и Towergame_2.Form1.compGameCountLbl.
Не совсем уверен, как это исправить. Макс - это переменная public, и эти две метки также являются лобковыми.
Спасибо!
Это код в моем конструкторе (спасибо lassevk за код!):
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();
}
Когда я добавляю все это и пытаюсь скомпилировать и запустить, нажмите ok на кнопке MaxScore, я получаю исключение: MainForm.myGameCountLbl.Text = MainForm.max.ToString(); говоря: исключение NullReferenceException было необработанным. В экземпляре объекта не задана ссылка на объект. – Eric
Вы действительно установили MainForm, как я показал в последнем фрагменте кода? –
Да, да. У меня есть последний фрагмент кода в моем конструкторе Form1. – Eric