A fejléc eltüntetéséhez a Form Text property-jének tartalmát töröljük, majd a ControlBox property-jét is állítsuk hamisra. Hogy állandóan, minden más alkalmazás felett látható legyen a Form-unk, állítsuk be a TopMost property-t igaz értékre. Az viszont zavaró lenne, ha a tálcán is állandóan jelen lenne a program ikonja ezért a ShowInTaskbar property-t hamisra állítjuk. Az Opacity property-t 60%-ra változtatjuk meg, ezért a teljes Form-unk áttetsző lesz a megadott mértékig, így jobban belesimul majd a környezetébe, de a kijelzett időpont még olvasható marad. A StartPosition property legyen Manual, hogy a Form helyzetét programból állíthassuk be.
Left = Screen.PrimaryScreen.Bounds.Width-250;
Top = 4;
A Form kis méretének eléréséhez egy új régiót hozunk létre, mivel a Form mérete egy adott érték alá nem csökkenthető a Width és Height property-ken keresztül.
this.Region = new Region(new Rectangle(0, 0, 120, 16));
Mivel nincs fejléc, ezért a Form-ot annak kliensterületénél fogva tudjuk majd mozgatni, csak előbb erre rá kell venni a Form-ot, hogy így működjön. A WM_NCHITTEST üzenetnél lehetőségünk nyílik erre is. Ha itt azt „hazudjuk” a Windows-nak, hogy a Form-unknak az egér alatti területe a Form fejléce (HTCAPTION), akkor ez úgy is fog viselkedni, vagyis a Form-ot bárhol megfoghatjuk, mint a fejlécénél és mozgathatjuk.
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_NCHITTEST)
{
m.Result = HTCAPTION;
}
else
{
base.WndProc(ref m);
}
}
Végül már csak annyi a dolgunk, hogy kiírjuk, hogy mennyi idő telt el a számítógép indulása óta. Ehhez az Environment osztály TickCount property-je adja meg a választ. Ebben a property-ben megkapjuk a gép elindulása óta eltelt időt, csakhogy ezredmásodpercben. Így némi átalakításra van szükség ahhoz, hogy nap, óra, perc, másodperc formában képesek legyünk ezt megjeleníteni.
private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
int i = System.Environment.TickCount;
int s = i / 1000;
int m = s / 60;
int h = m / 60;
int d = h / 24;
s = s % 60;
m = m % 60;
h = h % 24;
string tmp=d.ToString() + " nap " + h.ToString("00") + ":" + m.ToString("00") + ":" + s.ToString("00");
e.Graphics.DrawString(tmp, this.Font, new SolidBrush(Color.Black), 20, 2, StringFormat.GenericDefault);
}