1
0
mirror of https://github.com/chylex/TweetDuck.git synced 2024-10-17 09:42:45 +02:00
TweetDuck/Management/FormManager.cs

33 lines
694 B
C#

using System.Linq;
using System.Windows.Forms;
namespace TweetDuck.Management {
static class FormManager {
private static FormCollection OpenForms => System.Windows.Forms.Application.OpenForms;
public static T TryFind<T>() where T : Form {
return OpenForms.OfType<T>().FirstOrDefault();
}
public static bool TryBringToFront<T>() where T : Form {
T form = TryFind<T>();
if (form != null) {
form.BringToFront();
return true;
}
else {
return false;
}
}
public static void CloseAllDialogs() {
foreach (IAppDialog dialog in OpenForms.OfType<IAppDialog>().Reverse()) {
((Form) dialog).Close();
}
}
public interface IAppDialog {}
}
}