20-05-24, 11:53 PM
السلام عليكم و رحمة الله و بركاته
يمكنك استخدام مكتبة مثل ToastNotifications. سأقدم لك مثالاً كاملاً لإنشاء Notification Box يظهر إشعارًا عند حدوث حدث معين (على سبيل المثال، عند الضغط على زر).
الخطوات:
تثبيت مكتبة ToastNotifications:
افتح مشروعك في Visual Studio.
افتح مدير الحزم NuGet من خلال القائمة: Tools > NuGet Package Manager > Package Manager Console.
أدخل الأمر التالي لتثبيت مكتبة ToastNotifications
إضافة كود Notification Box:
أضف الكود التالي إلى مشروعك لإظهار Notification Box.
الكود النهائي:
Form1.cs
Form1.Designer.cs
شرح الكود:
إعداد Notifier:
يتم إنشاء مثيل Notifier في الـ Form مع تحديد موضع الإشعار (الزاوية العلوية اليمنى) باستخدام WindowPositionProvider.
يتم تحديد مدة حياة الإشعار (notificationLifetime) وعدد الإشعارات القصوى (maximumNotificationCount) باستخدام TimeAndCountBasedLifetimeSupervisor.
زر إظهار الإشعار:
عند الضغط على زر "Show Notification"، يتم استدعاء ShowInformation لإظهار إشعار يحتوي على الرسالة المحددة.
تصميم النموذج (Form1.Designer.cs):
يحتوي على زر واحد يقوم بإظهار الإشعار عند الضغط عليه.
ملاحظات:
تأكد من أنك قمت بتثبيت مكتبة ToastNotifications بشكل صحيح باستخدام NuGet.
الكود يستخدم Application.Current.Dispatcher لتعيين الـ Dispatcher. إذا واجهت أي مشاكل، يمكنك استخدام cfg.Dispatcher = Dispatcher.CurrentDispatcher; بدلاً من ذلك.
بهذا الشكل، تكون قد أنشأت تطبيق Windows Forms بسيط يظهر Notification Box عند الضغط على زر باستخدام مكتبة ToastNotifications.
يمكنك استخدام مكتبة مثل ToastNotifications. سأقدم لك مثالاً كاملاً لإنشاء Notification Box يظهر إشعارًا عند حدوث حدث معين (على سبيل المثال، عند الضغط على زر).
الخطوات:
تثبيت مكتبة ToastNotifications:
افتح مشروعك في Visual Studio.
افتح مدير الحزم NuGet من خلال القائمة: Tools > NuGet Package Manager > Package Manager Console.
أدخل الأمر التالي لتثبيت مكتبة ToastNotifications
PHP كود :
Install-Package ToastNotifications
إضافة كود Notification Box:
أضف الكود التالي إلى مشروعك لإظهار Notification Box.
الكود النهائي:
Form1.cs
PHP كود :
using System;
using System.Windows.Forms;
using ToastNotifications;
using ToastNotifications.Lifetime;
using ToastNotifications.Messages;
using ToastNotifications.Position;
namespace NotificationBoxExample
{
public partial class Form1 : Form
{
private Notifier _notifier;
public Form1()
{
InitializeComponent();
// إعداد Notifier
_notifier = new Notifier(cfg =>
{
cfg.PositionProvider = new WindowPositionProvider(
parentWindow: this,
corner: Corner.TopRight,
offsetX: 10,
offsetY: 10);
cfg.LifetimeSupervisor = new TimeAndCountBasedLifetimeSupervisor(
notificationLifetime: TimeSpan.FromSeconds(3),
maximumNotificationCount: MaximumNotificationCount.FromCount(5));
cfg.Dispatcher = Application.Current.Dispatcher;
});
}
private void btnShowNotification_Click(object sender, EventArgs e)
{
_notifier.ShowInformation("This is a notification message!");
}
}
}
Form1.Designer.cs
PHP كود :
namespace NotificationBoxExample
{
partial class Form1
{
private System.ComponentModel.IContainer components = null;
private System.Windows.Forms.Button btnShowNotification;
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
private void InitializeComponent()
{
this.btnShowNotification = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// btnShowNotification
//
this.btnShowNotification.Location = new System.Drawing.Point(90, 90);
this.btnShowNotification.Name = "btnShowNotification";
this.btnShowNotification.Size = new System.Drawing.Size(120, 23);
this.btnShowNotification.TabIndex = 0;
this.btnShowNotification.Text = "Show Notification";
this.btnShowNotification.UseVisualStyleBackColor = true;
this.btnShowNotification.Click += new System.EventHandler(this.btnShowNotification_Click);
//
// Form1
//
this.ClientSize = new System.Drawing.Size(300, 200);
this.Controls.Add(this.btnShowNotification);
this.Name = "Form1";
this.Text = "Notification Box Example";
this.ResumeLayout(false);
}
}
}
شرح الكود:
إعداد Notifier:
يتم إنشاء مثيل Notifier في الـ Form مع تحديد موضع الإشعار (الزاوية العلوية اليمنى) باستخدام WindowPositionProvider.
يتم تحديد مدة حياة الإشعار (notificationLifetime) وعدد الإشعارات القصوى (maximumNotificationCount) باستخدام TimeAndCountBasedLifetimeSupervisor.
زر إظهار الإشعار:
عند الضغط على زر "Show Notification"، يتم استدعاء ShowInformation لإظهار إشعار يحتوي على الرسالة المحددة.
تصميم النموذج (Form1.Designer.cs):
يحتوي على زر واحد يقوم بإظهار الإشعار عند الضغط عليه.
ملاحظات:
تأكد من أنك قمت بتثبيت مكتبة ToastNotifications بشكل صحيح باستخدام NuGet.
الكود يستخدم Application.Current.Dispatcher لتعيين الـ Dispatcher. إذا واجهت أي مشاكل، يمكنك استخدام cfg.Dispatcher = Dispatcher.CurrentDispatcher; بدلاً من ذلك.
بهذا الشكل، تكون قد أنشأت تطبيق Windows Forms بسيط يظهر Notification Box عند الضغط على زر باستخدام مكتبة ToastNotifications.