`

C#(.net) 线程和最小化到托盘的例子

阅读更多
自己写的一个使用线程和最小化到托盘的例子。 例子下载
当你看这个例子你就知道线程的强大了,:-)

<script type="text/javascript"><!-- google_ad_client = "pub-4334685396432654"; //728x90, 创建于 07-12-2 google_ad_slot = "4549597583"; google_ad_width = 728; google_ad_height = 90; //--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;
using System.Diagnostics;

namespace thread
{
    
public partial class Form1 : Form
    
{
        Thread t1;
           
        
public Form1()
        
{
        
            InitializeComponent();
            
this.notifyIcon1.Visible = false;
            System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls 
= false;
        }


        
private void button1_Click(object sender, EventArgs e)
        
{
            t1 
= new Thread(new ThreadStart(BackGroudProcess));
            t1.Start();

        }


        
private void BackGroudProcess()
        
{
            
int i = 1;
            
while (true)
            
{
                listBox1.Items.Add(
"Iterations:" + i.ToString());
                i
++;
                
            }

        }


        
private void button2_Click(object sender, EventArgs e)
        
{
            t1.Abort();
        }


        
private void button3_Click(object sender, EventArgs e)
        
{
            
int i = 1;
            
while (true)
            
{
                listBox1.Items.Add(
"Iterations:" + i.ToString());
                i
++;

            }

        }


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

        }


        
private void notifyIcon1_Click(object sender, EventArgs e)
        
{
            
this.Visible = true;
            WindowState 
= FormWindowState.Normal;
            
this.notifyIcon1.Visible = false;
        }


        
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        
{
            System.Diagnostics.Process.Start(
"http://wuyisky.cnblogs.com");
        }


    }

}

源码下载
分享到:
评论

相关推荐

    快捷键将应用程序最小化至托盘

    通过以上步骤,我们就实现了一个简单的C# WinForm应用,能够通过快捷键Ctrl+Alt+E将窗口最小化到托盘,并在托盘区域提供右键菜单功能。这只是一个基础示例,实际应用中可能需要考虑更多的细节,例如错误处理、多线程...

    最小化到任务栏

    5. **多线程编程**:如果程序有多个线程,最小化操作可能会影响到其他线程的运行。因此,需要确保在多线程环境下正确同步窗口状态的更新,避免数据竞争。 6. **用户体验**:为了提供良好的用户体验,最小化到任务栏...

    程序到系统托盘 程序到系统托盘程序到系统托盘

    这需要编写代码来捕获最小化事件(比如在C#中是`Form_Resize`事件),并在事件处理函数中将窗口状态设置为最小化,并将图标添加到系统托盘。 4. **上下文菜单**:为了让用户能够与系统托盘中的图标进行交互,通常会...

    .NET C# 任务栏状态开发Demo

    任务栏是用户界面的一个关键部分,它包含了系统托盘、开始按钮、运行按钮以及打开应用程序的最小化窗口等。任务栏的状态通常指的是位于任务栏上的应用程序图标及其相关的通知和操作。 在C#中,我们可以利用`System....

    火山PC带图标的托盘菜单案例

    7. **隐藏主窗口**:在某些情况下,程序启动后可能需要将主窗口最小化到托盘,这需要编程实现窗口状态的管理和切换。 8. **用户交互设计**:设计友好的托盘菜单可以帮助提高用户体验,包括合理的菜单结构、清晰的...

    C#聊天程序基于HP-SOCKET V1.1最终版

    2.最小化系统托盘,新消息变换图标 3.客户端会一直发消息给服务器(用于压力测试)。 例子程序版本V1.1,这个例子应该不会再更新了。其中还有什么可以优化的地方,请指教,QQ:522929 2015-12-16

    一个托盘程序(发邮件)

    这种程序通常设计成最小化到托盘,以便在不使用时节省桌面空间,同时保持可访问性。在描述中提到的“附有源代码”,意味着我们可以深入研究程序的实现细节,学习如何在C#环境中构建类似的功能。 “登录验证界面”是...

    C#桌面计划(始终运行在桌面最低层)

    8. **资源管理**:为了节省系统资源,开发者需要确保在程序最小化到系统托盘时,释放不必要的资源,而在需要时重新分配。 9. **调试与测试**:在开发过程中,利用Visual Studio等IDE的调试工具,对程序进行测试和...

    C#聊天程序基于HP-SOCKET V1.1最终版.7z

    HP-SOCKET我一直以来要要得一个SOCKET引擎,今天做了一个服务器客户端的例子把它测试了一下( 加了自己的心跳包...最小化系统托盘,新消息变换图标 3.客户端会一直发消息给服务器(用于压力测试)。 例子程序版本V1.1,

    C#网络收音机(附源码)

    【描述】提到的“改进版的,可以最小化到系统托盘,功能有一定改进”意味着这个网络收音机应用不仅具备基本的播放功能,还增加了实用性的增强功能。最小化到系统托盘是许多桌面应用的常见特性,它允许用户在不使用...

    系统托盘完整例子,功能完整

    系统托盘,也被称为通知区域或任务栏图标,是Windows操作系统中一个重要的功能,它允许应用程序在主界面被最小化或者隐藏时,仍然在后台运行并提供必要的交互。本示例是一个功能完整的系统托盘应用,它展示了如何...

    C#实现的简单文件备份工具

    程序最小化后,图标会出现在系统任务栏的托盘区域,用户可以在此继续进行备份操作。实现这一功能需要创建一个`NotifyIcon`对象,设置其图标和右键菜单,并处理相应的点击事件。`NotifyIcon`属于`System.Windows....

    c#托盘程序实例

    在C#编程中,托盘程序是指那些主窗口最小化后并不消失,而是隐藏到操作系统任务栏的系统托盘区域的程序。这种类型的程序通常用于后台运行,提供持续的服务或者避免用户频繁关闭和启动应用。本实例是一个C#实现的托盘...

    C# 托盘程序

    同时,将窗口最小化至托盘可以使用`WindowState`属性设置为`FormWindowState.Minimized`,并配合`Shown`事件,将窗口隐藏到托盘。 5. **隐藏与显示窗口** - 当用户选择显示主窗口时,可以通过`Form.Show()`方法让...

    ClockAlarm_.net_

    标题中的"ClockAlarm_.net_"表明这是一个基于.NET框架开发的C#程序,主要功能是一个闹钟应用。...这个过程涉及到编程语言的基础、.NET框架的特性和Windows应用程序开发的实践,是一个很好的学习和实践项目。

    C#写的到计时小工具源代码 VS2008的环境

    这个小工具的主要功能是提供一个倒计时功能,用户可以设定特定的时间,然后程序会以倒计时的方式显示剩余时间,同时它还具备最小化到系统托盘的能力,以便在不使用时保持后台运行。下面将详细介绍这个项目中的关键...

    托盘效果源代码 托盘效果源代码

    8. **隐藏和恢复窗口**:托盘图标的一个常见功能是将窗口最小化到托盘,然后从托盘恢复。这涉及到窗口状态的管理和控制。 9. **权限和用户交互**:在某些情况下,系统可能会限制对托盘区的访问,开发者需要考虑到...

    C# 提醒例子,打包下载了额

    5. **多线程(Multithreading)**:在 `最小化运行.rar` 文件中,可能涉及到后台线程或任务来执行提醒任务,避免阻塞主线程,确保应用的响应性。 6. **音乐播放器相关提醒**:像 `音乐播放器实现.rar` 和 `...

    任务栏托盘弹出菜单

    "任务栏托盘弹出菜单"是指当用户将应用程序最小化到系统托盘后,通过右键点击托盘区的图标,会弹出一个包含各种操作选项的菜单。这个功能在很多软件中被广泛应用,比如360安全卫士和QQ,使得用户可以在不占据桌面...

Global site tag (gtag.js) - Google Analytics