Windows Applikation die OHNE Form auskommt?

23/08/2007 - 13:55 von Adrian Stern | Report spam
Hallo

Mir ist bewusst, dass der Titel sehr ungünstig gewàhlt ist.
Ein Freund von mir bei dem ich quasi der Hausinformatiker bin hat bald
Geburtstag und ich wollte "für ihn" ein Programm schreiben welches ihn
alle paar Minuten mit einem Popup welches ihm Gratulier, nervt.

Dies natürlich nur an seinem Geburtstag.

Kann ja so schwer nicht sein dachte ich ... aber denkste.

Ich hab mir gedacht ich mache mir eine Instanz von DateTime und gebe der
das Datum seines Geburtstages mit und überprüfe so halt ob der tag da ist.

Mein Lösungsansatz war so:


==CODE=using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Threading;

namespace HappyBirthdayMuk
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());

Form2 f = new Form2();

//DateTime dt = new DateTime(2007, 8, 30);
DateTime dt = new DateTime(2007, 8, 23);

while (DateTime.Now != dt)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
Thread.Sleep(600000);
}
}
}
}
==CODE=
Ich habe also eine Normale Windows Applikation mit Form erzeugt, und das
anzeigen dieser in die Schleife gepackt.
Das Will so leider nicht.

Auch wenn ich mir nochmals eine neue Form mache (Form2) und diese in der
Schleife Instanziere und Anzeige Funktioniert das nich.

Bitte um Hilfe weil das ding heute eigendlich fertig werden sollte^^

mfg
Adrian Stern
 

Lesen sie die antworten

#1 Frank Dzaebel
23/08/2007 - 14:36 | Warnen spam
Hallo Adrian,

ich wollte "für ihn" ein Programm schreiben welches ihn
alle paar Minuten mit einem Popup welches ihm Gratulier, nervt.



Nutze einfach "this.Show();" und "this.Hide();".
Zusammen mit einem Timer. Ggf. zusàtzlich ShowInTaskbar-
Eigenschaft rücksetzen, und ein TopMost = true;

private void timer1_Tick(object sender, EventArgs e)
{
this.Show(); Thread.Sleep(2000); this.Hide();
}

private void Form1_Load(object sender, EventArgs e)
{
this.TopMost = true; Hide(); ShowInTaskbar = false;
}


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen