es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo uso mi propia función en una clase de temporizador?

El código se toma de aquí:

https://learn.microsoft.com/en-us/dotnet/api/system.windows.forms.timer?view=windowsdesktop-6.0

privado:
static System::Windows::Forms::Timer^ myTimer = gcnew System::Windows::Forms::Timer;
static int alarmCounter = 1;
static bool exitFlag = false;

// Este es el método que se ejecutará cuando se levante el temporizador.
static void TimerEventProcessor(Object^ /myObject/, EventArgs^ /myEventArgs/)
{
myTimer->Stop();

  // Muestra un cuadro de mensaje preguntando si se debe seguir ejecutando el temporizador.
  if (MessageBox::Show("¿Continuar ejecutando?", String::Format("El conteo es: {0}", alarmCounter), MessageBoxButtons::YesNo) == DialogResult::Yes)
  {

     // Reinicia el temporizador e incrementa el contador.
     alarmCounter += 1;
     myTimer->Enabled = true;
  }
  else
  {

     // Detiene el temporizador.
     exitFlag = true;
  }

}

Por ejemplo, después de la línea myTimer->Stop(); quiero usar mi propio método. ¿Cómo lo identifico? E0020 ID “draw 1” no está definido.

System:: Void Practform::MyForm::draw1() {
. . .
}

Por favor, dígame, porque estoy un poco estancado, ya que nunca he trabajado con esto.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para usar su propio método después de la línea myTimer->Stop();, debe reemplazar el comentario // This is the method to run when the timer is raised. con una llamada a su propio método. Por ejemplo, si desea llamar a un método draw1() en la clase Practform, debe reemplazar el comentario con la siguiente línea de código:

    Practform::draw1();
    

    Esto llamará al método draw1() en la clasePractform después de detener el temporizador. Tenga en cuenta que el método draw1() debe tener el modificador de acceso public oprivate, dependiendo de dónde desee llamarlo.

Comments are closed.