witam
Otóż mam problem, pewnie banalny ale nie wiem jak wywołać metodę Wydarzenie (nie wiem jakich argumentów podać) ?
Gdyż chcę napisać prosty programik zamykający komputer po wyznaczonym czasie
namespace ConsoleApplication20
{
class Program
{
static void Main(string[] args)
{
DateTime CzasTeraz = DateTime.Now;
Console.WriteLine("Aktualna data to: {0},\nZa ile czasu ma zostac wyłączony system",CzasTeraz);
Console.WriteLine("Wprowadz liczbe godzin: ");
double x = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Wprowadz liczbę minut: ");
double n = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Wprowadz liczbę sekund: ");
double m = Convert.ToDouble(Console.ReadLine());
DateTime CzasDodany = DateTime.Now.AddHours(x).AddMinutes(n).AddSeconds(m);
Console.WriteLine("Godzina wylaczenia to: {0}", CzasDodany);
Czasomierz czasomiez = new Czasomierz(n, x, m, CzasTeraz, CzasDodany);
czasomiez.PozostalyCzas();
}
}
}
class Czasomierz
{
public double n;
public double x;
public double m;
public DateTime CzasTeraz;
public DateTime CzasDodany;
public Czasomierz(double n,double x,double m,DateTime CzasTeraz,DateTime CzasDodany)
{
this.CzasDodany = CzasDodany;
this.CzasTeraz = CzasTeraz;
this.x = x;
this.n = n;
this.m = m;
}
public void PozostalyCzas()
{
Timer timer1 = new Timer();
timer1.Elapsed += new ElapsedEventHandler(Wydarzenie);
timer1.Interval = 1000;
timer1.Enabled = true;
do
{
Wydarzenie(timer1,?????);//Tutaj nie wiem jakie mają być argumenty tej metody
} while (!(CzasDodany.Minute - DateTime.Now.Minute == 0 && CzasDodany.Hour - DateTime.Now.Hour == 0
&& CzasDodany.Second - DateTime.Now.Second == 0));
System.Diagnostics.Process.Start("shutdown", "/s /t 0");
}
public void Wydarzenie(object sender, EventArgs e)
{
Console.WriteLine("Do wyłączenia pozostało: {0}", CzasDodany.Subtract(DateTime.Now));
}