Sé que esta es probablemente una pregunta muy nueva, así que me disculpo.¿Se necesita una referencia de objeto para el campo, el método o la propiedad no estáticos?
Estoy intentando acceder a la propiedad Text de una etiqueta en Form1 desde otro formulario, MaxScore.
Cuando hago clic en el botón Aceptar en MaxScore, quiero establecer myGameCountLbl.Text de Form1 a la variable de Form1, max utilizando max.ToString().
Aquí está mi código en el evento botón OK de maxscore:
private void okBtn_Click(object sender, EventArgs e)
{
Form1.myGameCountLbl.Text = Form1.max.ToString();
Form1.compGameCountLbl.Text = Form1.max.ToString();
}
Pero cuando voy a compilarlo, me sale el error:
An object reference is required for the non-static field, method, or property 'Towergame_2.Form1.myGameCountLbl'
consigo el mismo error para Towergame_2 .Form1.max y Towergame_2.Form1.compGameCountLbl.
No estoy seguro de cómo solucionar esto. Max es una variable pública y las dos etiquetas también son públicas.
Gracias!
Este es el código en mi constructor (gracias lassevk para el código!):
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();
}
Cuando agrego todo esto y trato de compilar y ejecutar, presiona ok en el botón MaxScore, obtengo una excepción en: MainForm.myGameCountLbl.Text = MainForm.max.ToString(); diciendo: NullReferenceException no se ha manejado. Referencia a objeto no establecida como instancia de un objeto. – Eric
¿De hecho configuró MainForm, como mostré en el último fragmento de código? –
Sí, lo hice. Tengo la última pieza de código en mi constructor Form1. – Eric