Я пытался создать всплывающее уведомление для своих окон, что-то вроде тостов в Android.Пользовательское всплывающее уведомление Windows Compact Framework
- Он не должен заботиться о активен с
- Это всегда должно быть на вершине (для продолжительности его активной)
- Он не должен блокировать текущую активную форму
- Было бы хорошо, если его нажмите желоб
Я знаю о Microsoft.WindowsCE.Forms.Notification, но это не идет хорошо со стилем приложения, я попытался создать пользовательский класс, который наследует уведомление, но я не мог найти способ рестайлинга его. Я также попытался создать самую верхнюю форму, но это тоже не сработало. Форма не будет отображаться вообще, если я не использую ShowDialog, но тогда она будет авторизоваться на размер экрана. Вот пример того, как я планировал создать эту от:
Form frm = new Form();
frm.TopMost = true;
Label lbl = new Label();
lbl.Text = "TEST";
lbl.Parent = frm;
frm.Bounds = new Rectangle(15, 15, 150, 150);
frm.WindowState = FormWindowState.Normal;
frm.FormBorderStyle = FormBorderStyle.None;
frm.AutoScaleMode = AutoScaleMode.None;
frm.Show();
Это работало, но есть несколько проблем, даже если его помечен как пребывание на вершине он идет позади в настоящее время сосредоточена форма, когда он теряет фокус, а также все формы максимальны, когда появляется уведомление верхняя панель (с батареей, Wi-Fi-сигналом и т. д.) появляется, что она не должна (не может использовать максимизацию, так как она не нажимает. – Aleksandar
Вы правы, я добавил что-то, чтобы держать его сверху, см. мой обновленный ответ.Для верхнего бара, в зависимости от платформы, вы можете скрыть эту панель: простой поиск по Google покажет ответ. – raidensan
Да, мне удалось исправить это, переопределив фокус и сделав его возвратом false каждый раз: 'public override bool Сфокусировано { { {{{ } } ' Anyways мне удалось сделать то, что я хотел, благодаря вашей помощи. – Aleksandar