ورود

View Full Version : قرار دادن آیکن برنامه در کنار ساعت سیستم؟



behnam25214
یک شنبه 15 فروردین 1389, 16:04 عصر
سلام:چشمک:

من روی فرم خودم یه باتون گذاشتم میخوام وقتی روش کلیک میکنم یه آیکن در کنار ساعت باشه و برنامه hide یا بسته بشه و وقتی روی اون آیکن دوبار کلیک کردم باز بشه.
تو سی شارپ کامپوننت ناتیفی آیکن(Notify Icon) بود ولی انگار تو WPF نیست.:عصبانی++:
کسی میتونه مشکلمو حل کنه؟:متفکر:

mahmoodramzani
یک شنبه 15 فروردین 1389, 16:28 عصر
با توجه به این که کامپوننت ها چیزی نیستند جز wrapper class پس شما می تونید از اون کلاس به راحتی استفاده کنید.
من از ی آیکن که به resource اضافه کرده بودم استفاده کردم.رفرنس مربوط به Windows Forms رو به پروژه اضافه کن،بعدش توی فرمت اینو اضافه کن:


using System.Windows.Forms;بعد هم:


private void button1_Click(object sender, EventArgs e)
{
NotifyIcon notify = new NotifyIcon();
notify.Icon = Properties.Resources.disk_jockey;
notify.Visible = true;
}بقیه اش هم دیگه بازی کردن با کلاس NotifyIcon هستش.
البته من مثال رو در Windows Forms نوشتم اما همین کد واسه WPF هم کار می کنه

behnam25214
یک شنبه 15 فروردین 1389, 18:50 عصر
جواب نداد.
واسه Properties خطا میده.

mahmoodramzani
یک شنبه 15 فروردین 1389, 19:34 عصر
جواب نداد.
واسه Properties خطا میده.
شما باید آیکن خودتون رو به Resource اضافه کنید.اسم آیکن که من استفاده کردم بود disk_jockey .

behnam25214
یک شنبه 15 فروردین 1389, 19:56 عصر
آره اشتباه من این بود که آیکن رو درگ میکردم تو فرم و به Resource اضافه نمیکردم کار کرد.
حالا یه چیزی چه طور واسه کلیکش یا دابل کلیکش کد بنویسم میشه یه مثال یا توضیح بدی؟:قلب:

mahmoodramzani
یک شنبه 15 فروردین 1389, 20:16 عصر
آره اشتباه من این بود که آیکن رو درگ میکردم تو فرم و به Resource اضافه نمیکردم کار کرد.
حالا یه چیزی چه طور واسه کلیکش یا دابل کلیکش کد بنویسم میشه یه مثال یا توضیح بدی؟:قلب:


private void button1_Click(object sender, EventArgs e)
{
NotifyIcon notify = new NotifyIcon();
notify.Icon = Properties.Resources.disk_jockey;
notify.Visible = true;
notify.DoubleClick += new System.EventHandler(notify_DoubleClick);
//notify.Click += new System.EventHandler();
}

private void notify_DoubleClick(object sender,EventArgs e)
{
// Your code
}

behnam25214
یک شنبه 15 فروردین 1389, 21:03 عصر
خیلی ممنون.:قلب:

behnam25214
یک شنبه 15 فروردین 1389, 21:51 عصر
یه مشکل برام پیش اومد وقتی روی باتون کلیک میکنم برنامه رو بسته و آیکن در سیستم ترای فعال میشه حالا وقتی میخوام روش دوبار کلیک کنم تا برنامه باز بشه و آیکن مخفی بشه ، آیکن مخفی نمیشه ولی برنامه باز میشه هر چقدر این کار ادامه پیدا کنه تعداد آیکن ها زیاد میشه.:گریه:

mahmoodramzani
دوشنبه 16 فروردین 1389, 09:00 صبح
یه مشکل برام پیش اومد وقتی روی باتون کلیک میکنم برنامه رو بسته و آیکن در سیستم ترای فعال میشه حالا وقتی میخوام روش دوبار کلیک کنم تا برنامه باز بشه و آیکن مخفی بشه ، آیکن مخفی نمیشه ولی برنامه باز میشه هر چقدر این کار ادامه پیدا کنه تعداد آیکن ها زیاد میشه.:گریه:



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
NotifyIcon notify = new NotifyIcon();
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
notify.Icon = Properties.Resources.disk_jockey;
notify.Visible = true;
notify.DoubleClick += new System.EventHandler(notify_DoubleClick);
this.Visible = false;
}

private void notify_DoubleClick(object sender,EventArgs e)
{
this.Visible = true;
notify.Visible = false;
}
}
}

behnam25214
دوشنبه 16 فروردین 1389, 09:57 صبح
خیلی ممنون.:تشویق: