1/2 OT: Fenster verkleinern in C# (Parent gleichzeitig mit Child window)
Moderators: Hacker, Stefan2, white
- Tahattmeruh
- Senior Member
- Posts: 244
- Joined: 2003-05-16, 13:35 UTC
1/2 OT: Fenster verkleinern in C# (Parent gleichzeitig mit Child window)
Hallo Herr Ghisler,
mir ist gerade beim TC aufgefallen dass der TC beim verkleinern des Kopieren-Fensters auch den TC mit verkleinert und man in der Taskleiste den TC mit dem Kopieren-Dialog wieder vergrößern kann.
Wenn ich das in C# oder anderen Programmiersprachen mache, dann wird nur das oberste Fenster minimiert und nicht die dahinter auch. Wenn ich diese manuell mit minimiere, dann kann ich über die Taskleiste das Fenster nicht mehr vergrößern.
Wie haben Sie dieses Problem gelöst?
Vielen Dank für einen Programmiertipp.
mir ist gerade beim TC aufgefallen dass der TC beim verkleinern des Kopieren-Fensters auch den TC mit verkleinert und man in der Taskleiste den TC mit dem Kopieren-Dialog wieder vergrößern kann.
Wenn ich das in C# oder anderen Programmiersprachen mache, dann wird nur das oberste Fenster minimiert und nicht die dahinter auch. Wenn ich diese manuell mit minimiere, dann kann ich über die Taskleiste das Fenster nicht mehr vergrößern.
Wie haben Sie dieses Problem gelöst?
Vielen Dank für einen Programmiertipp.
Re: 1/2 OT: Fenster verkleinern in C# (Parent gleichzeitig mit Child window)
Das ist das übliche Verhalten bei der Verwendung modaler Fenster. Das hat übrigens nichts mit der Programmiersprache zu tun sondern mit dem verwendeten Framework, und selbst das nur bedingt, weil man natürlich alles via Windows API nachprogrammieren kann.
Grüße
Dalai
Grüße
Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
- Tahattmeruh
- Senior Member
- Posts: 244
- Joined: 2003-05-16, 13:35 UTC
Re: 1/2 OT: Fenster verkleinern in C# (Parent gleichzeitig mit Child window)
Das weiß ich, deswegen war ja meine Frage wie Herr Ghisler das gelöst hat da ich an einer Stelle in meinem Programm genau dieses Problem habe.
Re: 1/2 OT: Fenster verkleinern in C# (Parent gleichzeitig mit Child window)
Gerade mal mit einer WPF-App ausprobiert.
Sollte an der Stelle, wo der Child-Diaolg geöffnet wird mit folgender Code-Sequence möglich sein:
Dir ist klar, dass das im TC-User-Forum eigentlich reichlich OT ist?
Gruss
Holger
Sollte an der Stelle, wo der Child-Diaolg geöffnet wird mit folgender Code-Sequence möglich sein:
Code: Select all
var child = new Window() { Owner = this, Title="Dialog", WindowStyle = WindowStyle.SingleBorderWindow };
child.StateChanged += (s, e) => this.WindowState = child.WindowState;
child.ShowDialog();
Gruss
Holger
Make our planet great again
Re: 1/2 OT: Fenster verkleinern in C# (Parent gleichzeitig mit Child window)
Delphi stellt in der VCL bereits entsprechende Funktionen bereit, um Fenster modal anzuzeigen (TForm.ShowModal). Da gibt's eigentlich nichts zusätzlich zu lösen, sofern man nichts Spezielles will/braucht (solche Ausnahmen gibt's natürlich immer).
Grüße
Dalai
Grüße
Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
- Tahattmeruh
- Senior Member
- Posts: 244
- Joined: 2003-05-16, 13:35 UTC
Re: 1/2 OT: Fenster verkleinern in C# (Parent gleichzeitig mit Child window)
Das ist ein Windows-"Problem", weil fast kein Framework kann das.
WPF kann es, wieder was gelernt. Mit WinForms geht es z.B. nicht und das benutzt klassische Windows-Fenster.
Wenn ich das in WinForms mache und das Clientfenster minimiere ist es weg.
In VBA geht es auch nicht. Da kann man die Fenster mit Tricks minimieren wenn sie Modal sind, aber sie können nicht wieder geöffnet werden.
WPF kann es, wieder was gelernt. Mit WinForms geht es z.B. nicht und das benutzt klassische Windows-Fenster.
Wenn ich das in WinForms mache und das Clientfenster minimiere ist es weg.
In VBA geht es auch nicht. Da kann man die Fenster mit Tricks minimieren wenn sie Modal sind, aber sie können nicht wieder geöffnet werden.
- Tahattmeruh
- Senior Member
- Posts: 244
- Joined: 2003-05-16, 13:35 UTC
Re: 1/2 OT: Fenster verkleinern in C# (Parent gleichzeitig mit Child window)
@Dalai: Fenster Modal anzuzueigen war nie das Problem. Das Modale Fenster minimieren und alle dahinter ist das Problem. Das zweite ist dann die minimierten Fenster wieder normal zu bekommen. WPF kann es anscheinend. Die normalen Windows-Fenster können es nicht.
Re: 1/2 OT: Fenster verkleinern in C# (Parent gleichzeitig mit Child window)
Manchmal kann man es sich nicht aussuchen und muss noch System.Windows.Forms.Form anstelle von WPF benutzen, aber gehen sollte das prinzipiell auch.
Man kann sich einen StateChanged-Event aus dem SizeChanged-Event in seinem ChildDialog basteln:
https://social.msdn.microsoft.com/Forums/vstudio/en-US/84b9f614-8e3a-42a1-b003-f94e6fef778a/winforms-windowstate-changed-how-to-detect-this?forum=csharpgeneral
und dann analog zur System.Windows.Window Lösung vorgehen.
Gruss
Holger
Man kann sich einen StateChanged-Event aus dem SizeChanged-Event in seinem ChildDialog basteln:
https://social.msdn.microsoft.com/Forums/vstudio/en-US/84b9f614-8e3a-42a1-b003-f94e6fef778a/winforms-windowstate-changed-how-to-detect-this?forum=csharpgeneral
und dann analog zur System.Windows.Window Lösung vorgehen.
Gruss
Holger
Make our planet great again
Re: 1/2 OT: Fenster verkleinern in C# (Parent gleichzeitig mit Child window)
2Tahattmeruh
Falls es nicht klargeworden ist: Die Delphi VCL kümmert sich auch darum. Wenn ein modales Fenster minimiert wird, werden auch alle Parent-Fenster minimiert. Holt man ein solches Fenster wieder hervor, kommen auch alle Parents mit. Wie ich schon sagte: Bei Delphi muss man da nichts (oder nicht viel) zusätzlich lösen.
Grüße
Dalai
Falls es nicht klargeworden ist: Die Delphi VCL kümmert sich auch darum. Wenn ein modales Fenster minimiert wird, werden auch alle Parent-Fenster minimiert. Holt man ein solches Fenster wieder hervor, kommen auch alle Parents mit. Wie ich schon sagte: Bei Delphi muss man da nichts (oder nicht viel) zusätzlich lösen.
Grüße
Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror