کوچک کردن برنامه در System tray نوار وظیفه سی شارپ #C

کد با پلتفرم بوی - کد سی شارپ
کد با پلتفرم بوی – کد سی شارپ

چگونه می توانیم برنامه خود را در System tray (نوار وظیفه) کوچک کنیم ؟ و سپس با دوبار کلیک کردن بر روی آیکون آن را برگردانیم؟

ما برای اینکار از notifyIcon استفاده می کنیم.

پلتفرم بوی اجرا شدن خروجی صحیح قطعه کد زیر را تایید می کند

قطعه کدی که در زیر مشاهده می کنید توسط برنامه کامپایلر به جهت تست آزمایش شده و خروجی صحیح مدنظر را بدست آورد.

   private void main_Resize(object sender, EventArgs e)
        {
            if (FormWindowState.Minimized == this.WindowState)
            {
                notifyIcon1.Visible = true;
                notifyIcon1.BalloonTipIcon = System.Windows.Forms.ToolTipIcon.Info;
                notifyIcon1.BalloonTipTitle = "Smart Clicker is Minimized";
                notifyIcon1.BalloonTipText = "Smart Clicker is here !";
                notifyIcon1.Icon = Resources.smart_clicker;
                notifyIcon1.ShowBalloonTip(1000);
                this.Hide();
            }

            else if (FormWindowState.Normal == this.WindowState)
            {
                notifyIcon1.Visible = false;
            }
        }

private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            Show();
            this.WindowState = FormWindowState.Normal;
            notifyIcon1.Visible = false;
        }

روش دوم

private void ImportStatusForm_Resize(object sender, EventArgs e)
{
    if (this.WindowState == FormWindowState.Minimized)
    {
        notifyIcon.Visible = true;
        notifyIcon.ShowBalloonTip(3000);
        this.ShowInTaskbar = false;
    }
}

private void notifyIcon_MouseDoubleClick(object sender, MouseEventArgs e)
{
    this.WindowState = FormWindowState.Normal;
    this.ShowInTaskbar = true;
    notifyIcon.Visible = false;
}

همچنین خوب است که ویژگی های زیر را برای کنترل آیکون اطلاع رسانی تنظیم کنید.

this.notifyIcon.BalloonTipIcon = System.Windows.Forms.ToolTipIcon.Info; //Shows the info icon so the user doesn't think there is an error.
this.notifyIcon.BalloonTipText = "[Balloon Text when Minimized]";
this.notifyIcon.BalloonTipTitle = "[Balloon Title when Minimized]";
this.notifyIcon.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon.Icon"))); //The tray icon to use
this.notifyIcon.Text = "[Message shown when hovering over tray icon]";

روش سوم

private void Form1_Resize(object sender, EventArgs e)
{
     if (FormWindowState.Minimized == this.WindowState)
     {
          notifyIcon1.Visible = true;
          notifyIcon1.ShowBalloonTip(500);
          this.Hide();    
     }
     else if (FormWindowState.Normal == this.WindowState)
     {
          notifyIcon1.Visible = false;
     }
}

private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
{
     this.Show();
     this.WindowState = FormWindowState.Normal;
}

روش چهارم

private void Form1_Load(object sender, EventArgs e)
    {
        notifyIcon1.BalloonTipText = "Application Minimized.";
        notifyIcon1.BalloonTipTitle = "test";
    }

    private void Form1_Resize(object sender, EventArgs e)
    {
        if (WindowState == FormWindowState.Minimized)
        {
            ShowInTaskbar = false;
            notifyIcon1.Visible = true;
            notifyIcon1.ShowBalloonTip(1000);
        }
    }

    private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
    {
        ShowInTaskbar = true;
        notifyIcon1.Visible = false;
        WindowState = FormWindowState.Normal;
    }

روش پنجم

public Form1()
  {
      InitializeComponent();

      // When window state changed, trigger state update.
      this.Resize += SetMinimizeState;

      // When tray icon clicked, trigger window state change.       
      systemTrayIcon.Click += ToggleMinimizeState;
  }      

  // Toggle state between Normal and Minimized.
  private void ToggleMinimizeState(object sender, EventArgs e)
  {    
      bool isMinimized = this.WindowState == FormWindowState.Minimized;
      this.WindowState = (isMinimized) ? FormWindowState.Normal : FormWindowState.Minimized;
  }

  // Show/Hide window and tray icon to match window state.
  private void SetMinimizeState(object sender, EventArgs e)
  {    
      bool isMinimized = this.WindowState == FormWindowState.Minimized;

      this.ShowInTaskbar = !isMinimized;           
      systemTrayIcon.Visible = isMinimized;
      if (isMinimized) systemTrayIcon.ShowBalloonTip(500, "Application", "Application minimized to tray.", ToolTipIcon.Info);
  }

 

کدهای بیشتر - سی شارپ

آیا این نوشته برای شما مفید بود ؟

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.