2016-03-28 16 views
1

Ich möchte eine Binäruhr für Windows machen. Aber ich will es ersetzen die Standarduhr (mit 2 Uhren ist nicht optimal).Zeichnen Sie auf Windows-Taskleiste in C#

Also ist einer der Ansätze nur meine Binäruhr auf die alte zu zeichnen. Wie mache ich das? Die Verwendung externer Bibliotheken ist erlaubt.

Ich habe versucht, etw wie folgt aus:

public Form1() 
    { 
     InitializeComponent(); 
     this.Paint += new PaintEventHandler(Form1_Paint); 
    } 

    private void Form1_Paint(object sender, PaintEventArgs e) 
    { 
     e.Graphics.FillEllipse(new SolidBrush(Color.Blue), new Rectangle(1500, 790, 20, 20)); 
    } 

Aber es erreicht nicht die Taskleiste (rechts unten): ellipse not reaching taskbar

Wenn es unmöglich zu sein, stellt sich heraus, ich werde machen eine andere Frage zu Tischbändern. Aber jetzt frage ich über Zeichnen auf Windows-Taskleiste.

+0

Ich bin wirklich kein Experte in diesem, aber ich denke, Sie sollten irgendwie versuchen, den Fenstergriff der eingebauten Uhr zu bekommen, und vielleicht versuchen, es so zu überschreiben. Die Uhr könnte viele Formen und Größen haben, abhängig von den individuellen Benutzereinstellungen, und es wäre im allgemeinen schwierig, sie nur zu übermalen. –

Antwort

2

Mit diesem Ansatz sind viele Dinge nicht in Ordnung.

  1. Die Taskleiste existiert als eigene Sache, getrennt von Ihrer Anwendung. Sie können nicht sehr einfach darauf zurückgreifen, Sie müssen das Windows SDK durchgehen, um damit zu interagieren (z. B. können Sie die Flyout-Vorschau Ihrer Anwendung anpassen). Darüber hinaus wäre das eine schreckliche Idee, wenn Windows jeder Anwendung, die oben auf der Taskleiste zeichnen wollte, dies erlaubte. Wer gewinnt, wenn alle zeichnen?

  2. Auch wenn Sie könnte darauf zeichnen, würden Sie für jede einzelne Sache erklären müssen, dass sie und ihre Flyoutfenster tut. Wie breit ist es? Was passiert, wenn Sie auf den Kalender klicken? Was, wenn es anders gestylt ist? Was ist, wenn es mehr als eine Uhr gibt? Hat der Benutzer überhaupt das Recht, Dinge mit der Uhr zu tun?

  3. Es gibt keine eingebaute Möglichkeit, die Uhr zu ersetzen. Ersatz gibt es, aber vor allem, indem Sie das Flyout-Fenster einhaken und tun, was ich in der 2. Option aufgeführt habe. Als Beispiel sehen Sie T-Clock.

Sie sind viel besser dran, eine andere Route zu gehen.