PDA

View Full Version : قرار دادن ایکون برنامه در try



M.kavyani
سه شنبه 08 شهریور 1384, 15:40 عصر
سلام
من میخوام ایکون برنامه رو در try قرار بدم و کمی هم نتظیمات براش تعریف کنم چه جوری میتونم این کار رو بکنم؟؟ :چشمک:

SYSMAN
سه شنبه 08 شهریور 1384, 17:38 عصر
برای قرار دادن آیکون برنامه باید از NotifyIcon استفاده کنید، منظورتون از تعریف تنظیمات یعنی چی؟

M.kavyani
شنبه 12 شهریور 1384, 00:13 صبح
ممکنه در صورت امکان کمی بیشتر در مورد NotifyIcon توضیح بدی؟
منظورم از نتظیمات اینه که وقتی روش کلیک میکنم یه لیست باز بشه و بشه کار هایی رو براش تعری کرد مثل بستن برنامه یا اجرای برنامه و.... :تشویق:

مطهر
شنبه 12 شهریور 1384, 01:09 صبح
یه مثال کامل از MSDN

using System;
using System.Drawing;
using System.Windows.Forms;

public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.NotifyIcon notifyIcon1;
private System.Windows.Forms.ContextMenu contextMenu1;
private System.Windows.Forms.MenuItem menuItem1;
private System.ComponentModel.IContainer components;

[STAThread]
static void Main()
{
Application.Run(new Form1());
}

public Form1()
{
this.components = new System.ComponentModel.Container();
this.contextMenu1 = new System.Windows.Forms.ContextMenu();
this.menuItem1 = new System.Windows.Forms.MenuItem();

// Initialize contextMenu1
this.contextMenu1.MenuItems.AddRange(
new System.Windows.Forms.MenuItem[] {this.menuItem1});

// Initialize menuItem1
this.menuItem1.Index = 0;
this.menuItem1.Text = "E&xit";
this.menuItem1.Click += new System.EventHandler(this.menuItem1_Click);

// Set up how the form should be displayed.
this.ClientSize = new System.Drawing.Size(292, 266);
this.Text = "Notify Icon Example";

// Create the NotifyIcon.
this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components);

// The Icon property sets the icon that will appear
// in the systray for this application.
notifyIcon1.Icon = new Icon("appicon.ico");

// The ContextMenu property sets the menu that will
// appear when the systray icon is right clicked.
notifyIcon1.ContextMenu = this.contextMenu1;

// The Text property sets the text that will be displayed,
// in a tooltip, when the mouse hovers over the systray icon.
notifyIcon1.Text = "Form1 (NotifyIcon example)";
notifyIcon1.Visible = true;

// Handle the DoubleClick event to activate the form.
notifyIcon1.DoubleClick += new System.EventHandler(this.notifyIcon1_DoubleClick);

}

protected override void Dispose( bool disposing )
{
// Clean up any components being used.
if( disposing )
if (components != null)
components.Dispose();

base.Dispose( disposing );
}

private void notifyIcon1_DoubleClick(object Sender, EventArgs e)
{
// Show the form when the user double clicks on the notify icon.

// Set the WindowState to normal if the form is minimized.
if (this.WindowState == FormWindowState.Minimized)
this.WindowState = FormWindowState.Normal;

// Activate the form.
this.Activate();
}

private void menuItem1_Click(object Sender, EventArgs e) {
// Close the form, which closes the application.
this.Close();
}
}
خلاصه تر


System.Windows.Forms.ContextMenu traymenu=new
ContextMenu();
traymenu.MenuItems.Add("Run",new EventHandler(traymenu_Run));
traymenu.MenuItems.Add("exit",new EventHandler(traymenu_Exit));
notifyIcon1.ContextMenu=traymenu;

private void traymenu_Run(object sender,System.EventArgs e)
{
// implement Code here??
}
private void traymenu_Exit(object sender,System.EventArgs e)
{
// implement Code here??
}

M.kavyani
شنبه 12 شهریور 1384, 11:43 صبح
دوست عزیز دستت درد نکنه ولی اگه یه نگاه با topic بندازی متوجه میش که ما در مورد vb.net بحث میکنیم نه در مورد #c درسته که کم و بیش شبیه هم هستند اما این دلیل نمیشه که شما مثال رو به زبان #c بزنین. ممنون. :چشمک:

SYSMAN
شنبه 12 شهریور 1384, 19:17 عصر
یک ContextMenu قرار بده و برای اون منوهایی که لازم داری رو طراحی کن بعد خاصیت ContextMenu مربوط به NotifyIcon رو برابر با ContextMenu یی که ایجاد کردی قرار بدی و یک آیکون هم باید برای خاصیت Icon اون قرار بدهی وقتی برنامه رو اجرا کنید آیکون مورد نظر در TaskBar قرار می گیرد وقتی هم روی اون راست کلیک کنی محتویات ContextMenu نمایش داده می شه

اینم یک مثال از MSDN


Imports System
Imports System.Drawing
Imports System.Windows.Forms

Public NotInheritable Class Form1
Inherits System.Windows.Forms.Form

Private contextMenu1 As System.Windows.Forms.ContextMenu
Friend WithEvents menuItem1 As System.Windows.Forms.MenuItem
Friend WithEvents notifyIcon1 As System.Windows.Forms.NotifyIcon
Private components As System.ComponentModel.IContainer

<System.STAThread()> _
Public Shared Sub Main()
System.Windows.Forms.Application.Run(New Form1)
End Sub 'Main

Public Sub New()

Me.components = New System.ComponentModel.Container
Me.contextMenu1 = New System.Windows.Forms.ContextMenu
Me.menuItem1 = New System.Windows.Forms.MenuItem

' Initialize contextMenu1
Me.contextMenu1.MenuItems.AddRange(New System.Windows.Forms.MenuItem() _
{Me.menuItem1})

' Initialize menuItem1
Me.menuItem1.Index = 0
Me.menuItem1.Text = "E&xit"

' Set up how the form should be displayed.
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(292, 266)
Me.Text = "Notify Icon Example"

' Create the NotifyIcon.
Me.notifyIcon1 = New System.Windows.Forms.NotifyIcon(Me.components)

' The Icon property sets the icon that will appear
' in the systray for this application.
notifyIcon1.Icon = New Icon("appicon.ico")

' The ContextMenu property sets the menu that will
' appear when the systray icon is right clicked.
notifyIcon1.ContextMenu = Me.contextMenu1

' The Text property sets the text that will be displayed,
' in a tooltip, when the mouse hovers over the systray icon.
notifyIcon1.Text = "Form1 (NotifyIcon example)"
notifyIcon1.Visible = True
End Sub 'New

Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
' Clean up any components being used.
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub 'Dispose

Private Sub notifyIcon1_DoubleClick(Sender as object, e as EventArgs) handles notifyIcon1.DoubleClick
' Show the form when the user double clicks on the notify icon.

' Set the WindowState to normal if the form is minimized.
if (me.WindowState = FormWindowState.Minimized) then _
me.WindowState = FormWindowState.Normal

' Activate the form.
me.Activate()
end sub

Private Sub menuItem1_Click(Sender as object, e as EventArgs) handles menuItem1.Click
' Close the form, which closes the application.
me.Close()
end sub

End Class 'Form1


البته باید آیکون مورد نظرت رو به با نام appicon.ico در محلی که فایل کامپایل می شه قرار بدی