人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

vb.netでタスクトレイに数値を表示したいと思っています。数値はプログラムから定期的に変化して表示するようにしたいです。

簡単なサンプルをごぞんじでしょうか。

教えてください。

●質問者: mai_mai_mail
●カテゴリ:コンピュータ インターネット
✍キーワード:VB.NET タスク トレイ プログラム
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● mj99
●35ポイント

タスクトレイには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...


2 ● heke2mee
●35ポイント

アイコンでいいのならフォームに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


タスクトレイのアイコンをアニメーション表示する

http://dobon.net/vb/dotnet/control/animatetasktrayicon.html

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ