¿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.
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étododraw1()
en la clasePractform
, debe reemplazar el comentario con la siguiente línea de código:Esto llamará al método
draw1()
en la clasePractform
después de detener el temporizador. Tenga en cuenta que el métododraw1()
debe tener el modificador de accesopublic
oprivate
, dependiendo de dónde desee llamarlo.