Есть screensaver, и при запуске он открывает две копии приложения на количество мониторов. Мне необходимо чтоб некоторые функции на одном из мониторов не выполнялись - дублируются.
Как узнать количество мониторов я знаю - Screen.AllScreens. Как узнать какой основной тоже .Primary. А вот как узнать на каком сейчас запущенна данная форма?
Есть идея, что искать по координатам окна в каждом мониторе, но может есть способ легче?
Для WinForms сделал небольшой пример (на основе поста) - форма определяет, на главном она экране или нет
class F : Form
{
public F()
{
var bt = new Button();
bt.Text = "press me";
bt.Click += (sender, args) => {
var screen = Screen.FromControl(this);
var primary = Screen.PrimaryScreen;
if (Screen.Equals(primary, screen)) bt.Text = "primary";
else bt.Text = "secondary";
};
this.Controls.Add(bt);
}
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости