• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

Terminate WPF/Windows forms applications....

MrSeanKon

New Member
Joined
Nov 14, 2006
Messages
267 (0.04/day)
Location
Athens in love with Anna :)
WPF has no concept of MDI applications. In fact Microsoft is trying to discourage any one using that form of application. I'm new to WPF and I really like MDI applications. It allows me to move quickly between windows and compare the content of different windows. Furthermore, sometime the content of one window is useful for another so I can copy and paste. I think it's a great user experience for working mode.
To continue, download the attachment!
It includes two folders, they are very simple code.
The point is how you can terminate an application (Windows Form and WPF).
 

Attachments

  • Close a MDI form.zip
    28.3 KB · Views: 291
Last edited:

Kreij

Senior Monkey Moderator
Joined
Feb 6, 2007
Messages
13,817 (2.20/day)
Location
Cheeseland (Wisconsin, USA)
If you do want to use something like MDI in WPF you can look at WPDMDI over at Codeplex.
 

FordGT90Concept

"I go fast!1!11!1!"
Joined
Oct 13, 2008
Messages
26,259 (4.64/day)
Location
IA, USA
System Name BY-2021
Processor AMD Ryzen 7 5800X (65w eco profile)
Motherboard MSI B550 Gaming Plus
Cooling Scythe Mugen (rev 5)
Memory 2 x Kingston HyperX DDR4-3200 32 GiB
Video Card(s) AMD Radeon RX 7900 XT
Storage Samsung 980 Pro, Seagate Exos X20 TB 7200 RPM
Display(s) Nixeus NX-EDG274K (3840x2160@144 DP) + Samsung SyncMaster 906BW (1440x900@60 HDMI-DVI)
Case Coolermaster HAF 932 w/ USB 3.0 5.25" bay + USB 3.2 (A+C) 3.5" bay
Audio Device(s) Realtek ALC1150, Micca OriGen+
Power Supply Enermax Platimax 850w
Mouse Nixeus REVEL-X
Keyboard Tesoro Excalibur
Software Windows 10 Home 64-bit
Benchmark Scores Faster than the tortoise; slower than the hare.
http://msdn.microsoft.com/en-us/library/ms597013.aspx

Application.Current.Shutdown()


WPF is just a displayer of data. If you want to "compare the content" then you should compare the underlying, databound collections. Copying and pasting is also performed via the databound collections.


Edit: Technically the correct method to terminate an application is to end all threads...

In console programs, the thread that runs the console is the main thread. Close the application by making sure nothing is keeping the main thread open (e.g. Console.ReadKey() or close all worker threads).

In WinForms and WPF programs, the thread that runs the main form is the main thread. Call this.Close() from within the form to gracefully terminate the application. If there are worker threads that are busy, make sure to close them before calling this.Close().

All applications gracefully terminate when all their threads are closed. The only scenario where Shutdown(), Exit(), or similar should be called is in the case of major, unrecoverable error.
 
Last edited:
Top