簡単なサンプルをごぞんじでしょうか。
教えてください。
タスクトレイには16x16のアイコンしか設置できないのですが、
「その場でアイコンをつくる」という方法を実現するのはどうでしょうか。
----
フォームにTextBox1とButton1が設置してあり、
Button1のクリックで、TextBox1の文字をタスクトレイアイコンにします。
Public Class Form1 Private trayIcon As New NotifyIcon Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'タスクトレイ初期表示 trayIcon.Text = "タスクトレイテスト" trayIcon.Icon = New Icon(Me.Icon, 16, 16) trayIcon.Visible = True End Sub Private Sub Form1_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed trayIcon.Visible = False 'タスクトレイ消去 End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim oldIcon As Icon = trayIcon.Icon '今のアイコン Dim br As New SolidBrush(Color.Black) '色 Dim ft As New Font("MS ゴシック", 9) 'フォント Dim bm As New Bitmap(16, 16) '描画域 Dim gr As Graphics = Graphics.FromImage(bm) gr.DrawString(TextBox1.Text, ft, br, 0, 0) 'テキスト描画 trayIcon.Icon = Icon.FromHandle(bm.GetHicon()) '新アイコンを設置する oldIcon.Dispose() '古いアイコンを捨てる gr.Dispose() bm.Dispose() ft.Dispose() br.Dispose() End Sub End Class
フォント、色、位置など、適当に調節してください。
NotifyIconオブジェクトさえあれば、フォームは無くても実装できます。
http://homepage1.nifty.com/rucio/main/dotnet/ClassLibrary/L004_S...
アイコンでいいのならフォームにNotifyIcon とTimerを貼り付けて
NotifyIcon の名前 NotifyIcon1
Timer の名前 Timer1
Interval を1000 (適当です)
Public Class Form1 Private flag As Integer = 0 Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick NotifyIcon1.Icon = GetIcon(flag) 'フラグの切り替え flag = 1 - flag End Sub Private Function GetIcon(ByVal flag As Integer) As Icon '現在実行しているAssemblyを取得する Dim asm As System.Reflection.Assembly asm = System.Reflection.Assembly.GetExecutingAssembly() 'リソースファイル名が"Resource1.resources"だとする Dim rm As New System.Resources.ResourceManager( _ asm.GetName().Name + ".Resource1", asm) Dim img As Icon If flag = 0 Then img = CType(rm.GetObject("アイコン1"), Icon) Else img = CType(rm.GetObject("アイコン2"), Icon) End If GetIcon = img End Function End Class
アイコンだと1桁の数値ぐらいしか見えないので
値が変わったらアイコンをアニメーションさせて
バルーンで表示したほうがいいかも
タスクトレイにアイコンとバルーンを表示する
http://codezine.jp/article/detail/421
タスクトレイのアイコンをアニメーション表示する
コメント(2件)
0から9までのアイコンを作って それを 切り替えて表示すればいいんじゃないかな。