Visual C#是微软公司推出的下一代程序开发语言,是微软.Net框架中的的一个重要组成部分。微软的.Net平台堪称为新一代的互联网平台。对于技术开发人员来说,.Net平台的两大特性是非常卓越的,首先是其所提供的公共语言运行时,也就是公用语言运行平台,另一方面就是其庞大而全面的统一编程类。 Visual C#就是通过调用这些类、对象来实现许多比较强大的功能。
本文通过向大家介绍一个.Net平台上用C#写的可以停放在任务栏上的图标程序(类似于Flashget、OICQ那种系统托盘图标)来和大家一起体验一下用C#编程的乐趣。
一、概述:
我这里所指的图标程序是类似于在Windows中经常接触的停放在任务栏上,在后台运行的病毒监视、媒体播放等程序。它们一般都具有单击显示或隐藏主界面,击右键弹出菜单,当鼠标停在图标上时显示提示信息的功能。
程序主要用到了一下几个类:
System.Windows.Fomrs.NotifyIcon类
System.Windows.Forms.ContextMenu类
System.Windows.Forms.MenuItem类
System.Windows.Forms.Label类
System.Windows.Forms.Timer类
二、程序设计和运行的环境:
(1)微软公司视窗2000服务器版或视窗XP版
(2).Net FrameWrok SDK Beta 2版
三、具体实现步骤:
(1).在Visual Studio下新建一个C#的工程,不妨命名为AnimateSystemTray。图示如下:
(2).现在我们来设计程序的主界面:
先将窗体的Text属性设置为"动画系统图标示例",MaximiseBox、MinimiseBox、ShowInTaskbar属性均设置为False。
再往窗体上添加Label控件、NotifyIcon控件、ContextMenu控件、Timer控件各一个。
将Label控件的Text属性设置为"请右击系统托盘图标";将NotifyIcon控件的Icon属性设置为一个图标文件:,Text属性设置为"这是个示例程序!",ContextMenu属性设置为"contextMenu1";接下来开始编辑ContextMenu控件,图示如下:
最后还要在导入两个图标 (Icon1.ico), (Icon2.ico)文件到该项目。
(3).现在我们开始编写代码部分:
首先在我们的类中添加以下数据成员:
private Icon m_Icon1;
private Icon m_Icon2;
private bool m_bFlag;
private bool m_bShowWnd;
修改Form1()函数为:
public Form1()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
//
// TODO: Add any constructor code after InitializeComponent call
//
m_bFlag=true;
m_bShowWnd=true;
try
{
m_Icon1 = new Icon("Icon1.ico");//导入图标文件
m_Icon2 = new Icon("Icon2.ico");
}
catch ( Exception e )
{
MessageBox.Show("Error " e.Message,"Animate Tray - Error");
menuItem2.Enabled = false;
menuItem3.Enabled = false;
}
}
添加menuItem1、menuItem2、menuItem3、m_trayIcon的Click事件,消息处理函数如下:
private void menuItem1_Click(object sender, System.EventArgs e)
{
timer1.Start();//打开计时器
}
private void menuItem2_Click(object sender, System.EventArgs e)
{
timer1.Stop();//停止计时器
}
private void menuItem3_Click(object sender, System.EventArgs e)
{
Application.Exit();//退出应用程序
}
private void m_trayIcon_Click(object sender, System.EventArgs e)
{
if(m_bShowWnd == true)//隐藏主界面
{
this.Visible = false;
m_bShowWnd = false;
}
else//显示主界面
{
this.Visible = true;
m_bShowWnd = true;
}
}
最后还要添加timer1的Tick()函数:
private void timer1_Tick(object sender, System.EventArgs e)
{
if ( m_Icon1 != null &;&; m_Icon2 != null ) //如果两个图标文件都被正确载入
{
//只要timer1被启动,则在两个图标之间不断进行选择变换,实现动画效果
if ( m_bFlag == true )
{
m_trayIcon.Icon = m_Icon2;
m_bFlag = false;
}
else
{
m_trayIcon.Icon = m_Icon1;
m_bFlag = true;
}
}
}
好了,按Ctrl+F5试试效果吧!
运行程序,将显示一个主窗口,此时还可以看到在任务栏上面多了一个图标。当鼠标移到其上停留一下时,将显示一个简单的提示信息,点击该图标则将隐藏主窗口,单击右键,出来一个菜单,选"动画图标开始"和"动画图标结束"可以控制图标状态。
分享到:
相关推荐
其中,动态系统托盘图标是很多应用中不可或缺的一部分,它可以在任务栏通知区域显示,提供快速访问和隐藏主界面的功能。本篇文章将深入探讨如何在C#中实现这一特性。 首先,我们要了解系统托盘图标的组成。一个基本...
本文主要介绍了如何在C#环境下创建一个动态的系统托盘图标程序,类似于Flashget和OICQ那样在任务栏右下角显示的小图标。这个程序可以在后台运行,并且可以通过单击或右键菜单进行交互。以下是对关键知识点的详细解释...
总结一下,`c#系统托盘图标刷新类`涉及到的关键知识点有: 1. 使用`System.Windows.Forms.NotifyIcon`类创建和管理系统托盘图标。 2. 图标的初始化、刷新和事件处理。 3. 跨平台兼容性,确保在不同版本的Windows上...
本文将深入探讨如何使用C#来实现动态托盘图标的功能,并提供源码分析。 动态托盘图标是Windows操作系统任务栏右下角通知区域中的图标,它们通常用于后台运行的应用程序,以便在不占用主窗口的情况下提供交互和通知...
在C#中实现动态系统托盘图标是Windows桌面应用开发中的常见需求,这通常涉及到创建一个在任务栏通知区域(系统托盘)显示的小图标,以便在后台运行并提供用户交互。以下是如何使用C#来实现这一功能的详细步骤和涉及...
C#显示动态托盘图标示例,若积分不够,请到http://www.codefans.net/soft/22803.shtml...学习了一段C#编程,今天抽空写一个新手可参考的小程序,动态显示窗口任务栏右下角的托盘图标,可向指定IP发送消息,窗口可闪动。
5. **使用系统API**:在C#中,可以利用P/Invoke技术调用Windows API函数,如`Shell_NotifyIcon`来直接操作系统托盘图标,实现更精细的控制。 6. **错误处理**:对可能出现的异常进行捕获和处理,防止因异常导致的...
"动态闪烁的C#系统托盘图标"是指能够根据程序状态或事件而变化或闪烁的这种图标功能。以下将详细介绍如何在C#中实现动态闪烁的系统托盘图标。 首先,我们需要导入`System.Windows.Forms`命名空间,因为它包含了创建...
本文将深入探讨如何利用C#来获取系统托盘区域(也称为通知区域)的信息,包括显示在托盘区域中的图标以及它们所关联的进程ID。 系统托盘区域是Windows操作系统桌面右下角的一个区域,通常包含各种程序的小图标,如...
以下是对动态系统托盘图标在C#中的实现进行详细讲解: 一、System Tray 图标的基本概念 系统托盘(System Tray),也称为通知区域,位于Windows桌面右下角的任务栏上,通常包含时钟、网络连接等图标。通过使用...
当用户与托盘图标交互时,如单击、双击等,Windows会发送消息到应用程序。我们需要在窗体的`WndProc`方法中处理这些消息。 以上就是刷新托盘区域图标的C#实现过程。在提供的压缩包文件`HWin32`中,可能包含了一些...
在自己的程序中解决其他程序非法关闭后,托盘残留的死亡图标。一句话搞定:引入该dll文件RefreshSystemTray.RefreshSysTray.SysTray.Refresh();//消除死亡托盘图标
- 可以为系统托盘图标添加右键菜单,通过`ContextMenuStrip`类在C#中实现,提供各种功能选项。 - 使用`BalloonTip`功能,可以在图标上显示临时提示信息,向用户传达应用程序的状态或提醒。 4. 处理隐藏和显示: ...
总的来说,"C#托盘小图标程序"是一种利用C#语言和Windows Forms库开发的应用,它可以实现系统托盘图标的功能,包括显示、隐藏、闪烁等,常用于后台运行的工具软件或提醒类应用。通过学习和理解这些知识点,开发者...
在C#中,我们可以使用`System.Windows.Forms.NotifyIcon`类来创建系统托盘图标。创建一个NotifyIcon实例,设置图标和提示文本,然后将其添加到系统托盘中。用户可以通过点击托盘图标来触发相应的事件,例如显示菜单...
在C#编程中,有时我们希望程序在运行时并不显示主窗口,而是通过系统托盘图标来实现应用程序的控制和交互。这样的设计可以使得界面更加简洁,用户可以在任务栏的系统托盘区域找到应用程序,而不会被频繁弹出的窗口...
在C#编程环境中,开发Windows桌面应用程序时,有时需要实现一种功能,即当程序有重要通知或事件发生时,能够使任务栏上的托盘图标闪烁,以吸引用户的注意力。这个功能常见于各种即时通讯软件,如QQ和邮件客户端,如...
2. **处理消息循环**:系统托盘图标需要能够响应用户的操作,如单击、双击或右键菜单。为此,程序需要有一个消息循环,用于接收并处理来自操作系统的事件,例如WM_NOTIFY、WM_USER等。 3. **添加托盘图标到任务栏**...
在Windows应用程序开发中,C#语言提供了丰富的功能来创建用户友好的界面,其中包括在系统托盘(状态栏)上操作图标。"C#在Windows托盘处旋转图标"这一技术,是利用C#的.NET Framework库来实现的一种视觉效果,主要...