C#實(shí)現(xiàn)帶消息數(shù)的App圖標(biāo)
上次寫了一篇博文,但是每次更新圖標(biāo)時(shí),桌面會(huì)閃爍(刷新)http://www.dhdzp.com/article/73350.htm,有博友說人家的圖標(biāo)都不會(huì)刷新,還能動(dòng)畫.我想了一下,如果要達(dá)到這個(gè)效果,可以用Form來實(shí)現(xiàn),就是在Form中嵌入一個(gè)圖片,然后用一個(gè)label來動(dòng)態(tài)顯示消息數(shù),關(guān)鍵是將Form的邊框隱藏,背景設(shè)為透明即可.如果要有旋轉(zhuǎn)或者縮放動(dòng)畫,都可以用C#來實(shí)現(xiàn).
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 AOPDemo
{
public partial class AppIconMsg : Form
{
public AppIconMsg()
{
InitializeComponent();
//設(shè)置背景為透明
this.BackColor = Color.FromArgb(116, 164, 2);
this.TransparencyKey = this.BackColor;
}
private void AppIconMsg_Load(object sender, EventArgs e)
{
this.Width = 64;
this.Height = 64;
this.label1.Text = "99";
this.timer1.Enabled = true;
}
// Drag it around the screen
private const int WM_NCHITTEST = 0x84;
private const int HTCAPTION = 0x2;
protected override void WndProc(ref Message m)
{
//Disable mouseDoubleClick on form
if (m.Msg == WM_LBUTTONDBLCLK)
{
Form2 frm = new Form2(msg);
frm.Show();
//this.Close();
return;
}
if (m.Msg == WM_NCLBUTTONDBLCLK)
{
Form2 frm = new Form2(msg);
frm.Show();
// this.Close();
return;
}
//drag
if (m.Msg == WM_NCHITTEST)
m.Result = new IntPtr(HTCAPTION);
else
base.WndProc(ref m);
}
private int msg = 0;
private void timer1_Tick(object sender, EventArgs e)
{
int num = new Random().Next(1, 100);
msg = num;
this.label1.Text = num.ToString();
}
const int WM_LBUTTONDBLCLK = 0x0203;//client area
const int WM_NCLBUTTONDBLCLK = 0x00A3;//non-client area
private void toolStripExit_Click(object sender, EventArgs e)
{
this.Close();
}
}
}


- C#向無窗口的進(jìn)程發(fā)送消息
- C#微信開發(fā)之接收 / 返回文本消息
- C#記錄消息到日志文件的方法
- C# WinForm應(yīng)用程序降低系統(tǒng)內(nèi)存占用方法總結(jié)
- c#取得控制臺(tái)應(yīng)用程序根目錄
- C# 禁止應(yīng)用程序多次啟動(dòng)的實(shí)例
- C#Web應(yīng)用程序入門經(jīng)典學(xué)習(xí)筆記之二
- C#實(shí)現(xiàn)將應(yīng)用程序設(shè)置為開機(jī)啟動(dòng)的方法
- C#Web應(yīng)用程序入門經(jīng)典學(xué)習(xí)筆記之一
- C#使用windows服務(wù)開啟應(yīng)用程序的方法
- C#實(shí)現(xiàn)在應(yīng)用程序間發(fā)送消息的方法示例
相關(guān)文章
使用C#9中records作為強(qiáng)類型ID的實(shí)例教程
這篇文章主要給大家介紹了關(guān)于使用C#9中records作為強(qiáng)類型ID的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
C# winform打開Excel文檔的方法總結(jié)(必看篇)
下面小編就為大家?guī)硪黄狢# winform打開Excel文檔的方法總結(jié)(必看篇)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-01-01
C#實(shí)現(xiàn)字符串進(jìn)制轉(zhuǎn)換方法匯總
這篇文章主要介紹了C#實(shí)現(xiàn)字符串進(jìn)制轉(zhuǎn)換方法匯總,給大家羅列了十幾種機(jī)制轉(zhuǎn)換問題,感興趣的朋友跟隨小編一起看看吧2022-11-11
C#實(shí)現(xiàn)時(shí)間戳與標(biāo)準(zhǔn)時(shí)間的互轉(zhuǎn)
本文主要介紹了C#中時(shí)間戳與標(biāo)準(zhǔn)時(shí)間互轉(zhuǎn)的方法,其中需要注意的是基準(zhǔn)時(shí)間的問題。文中的示例代碼具有一定的學(xué)習(xí)價(jià)值,快來跟隨小編一起了解一下吧2021-12-12
unity 如何使用文件流讀取streamingassets下的資源
這篇文章主要介紹了unity 使用文件流讀取streamingassets下的資源操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04
C#十六進(jìn)制字符串轉(zhuǎn)十進(jìn)制int的方法
這篇文章主要介紹了C#十六進(jìn)制字符串轉(zhuǎn)十進(jìn)制int的方法,涉及C#操作數(shù)制轉(zhuǎn)換的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03

