Entwickler-Ecke

WinForms - Graues Feld bei Minimierung


mrtfr - Di 04.12.18 10:45
Titel: Graues Feld bei Minimierung
Hi,

ich habe eine Anwendung, die ich mit this.WindowState = FormWindowState.Minimized; minimiere. Nun erscheint aber ein graues Feld unten links, sobald das Fenster minimiert ist. Wenn ich auf dieses klicke, dann öffnet sich mein Fenster wieder. https://picload.org/view/dcllwcla/unbenannt.png.html

Wie bekomme ich das weg?

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
//Minimieren

private void minimieren_Click(object sender, EventArgs e)
{
    this.WindowState = FormWindowState.Minimized;
}

//Wiederherstellen

private void öffnenToolStripMenuItem_Click(object sender, EventArgs e)
{
    this.WindowState = FormWindowState.Normal;
}

//Schließen

private void schließenToolStripMenuItem_Click(object sender, EventArgs e)
{
    if (MessageBox.Show("Willst Du wirklich schon gehen?""follow red App Launcher", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
    {
        Close();
    }
    else
    {

    }
}


Moderiert von user profile iconTh69: I- durch C#-Tags ersetzt
Moderiert von user profile iconTh69: C#-Tags hinzugefügt


Th69 - Di 04.12.18 11:22

Hallo und :welcome:

du meinst den Button in der Windows-Taskbar? Das ist doch der Sinn dieses Buttons, daß man damit das Fenster wieder in den Vordergrund bringen kann.
Du kannst aber mit der Eigenschaft Form.ShowInTaskbar [https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.form.showintaskbar?view=netframework-4.7.2] diesen ausblenden.


mrtfr - Mi 05.12.18 10:04

Hallo,

vielen Dank für die schnelle Antwort. Ich habe bereits this.ShowInTaskbar = false; in meinem Code. Sollte doch funktionieren... Mein Ziel ist es, dass ich auf das Icon in dem kleinen Menü rechts unten einen Rechtsklick machen kann und dann eben auswählen kann, was passieren soll. Aber das graue Feld ist immer durchgehend da.

Grüßle

Moderiert von user profile iconTh69: C#-Tags hinzugefügt


mrtfr - Mi 05.12.18 10:23

Hi,

ich hab grade nochmal herumexperimentiert:


C#-Quelltext
1:
2:
3:
4:
5:
6:
private void minimieren_Click(object sender, EventArgs e)
{
    this.WindowState = FormWindowState.Minimized;
    this.ShowInTaskbar = true;
    this.ShowInTaskbar = false;
}

So funktioniert es...
Das Feld blitzt ganz kurz auf und ist dann aber weg. Damit kann ich leben :lol:

Vielen Dank für deinen Tipp!

Beste Grüße


Th69 - Mi 05.12.18 10:37

Das sollte aber nicht erforderlich sein. Bei meinen Projekten mit NotifyIcon (Tray) habe ich ShowInTaskbar = false; direkt im Konstruktor aufgerufen und habe keine Probleme damit.

Verwendest du auch NotifyIcon oder wie kann man dein Fenster wieder anzeigen (nachdem es minimiert wurde)? Und soll dann die Taskbar wieder angezeigt werden?

Oder hast du mal versucht die Anweisungen zu tauschen:

C#-Quelltext
1:
2:
this.ShowInTaskbar = false;
this.WindowState = FormWindowState.Minimized;
?