Apa yang harus saya lakukan untuk membuat aplikasi Windows Forms berjalan di System Tray?
Bukan aplikasi yang dapat meminimalkan ke baki, tetapi yang ada hanya di baki, dengan tidak lebih dari ikon, ujung alat, dan menu "klik kanan".
c#
.net
winforms
system-tray
xyz
sumber
sumber
icon.Visible = false
, laluDispose()
ikon saat keluar dari aplikasi Anda. Kalau tidak, Anda masih akan melihat ikon setelah program Anda keluar. Setelah mengujinya beberapa kali, Anda tidak akan lagi tahu, ikon mana yang nyata.Jawaban:
Artikel proyek kode Membuat Aplikasi Tasktray memberikan penjelasan yang sangat sederhana dan contoh membuat aplikasi yang hanya pernah ada di System Tray.
Pada dasarnya ubah
Application.Run(new Form1());
barisProgram.cs
untuk memulai sebuah kelas yang mewarisiApplicationContext
, dan minta konstruktor untuk kelas tersebut menginisialisasi aNotifyIcon
sumber
Seperti kata mat1t - Anda perlu menambahkan NotifyIcon ke aplikasi Anda dan kemudian menggunakan sesuatu seperti kode berikut untuk mengatur tooltip dan menu konteks:
Kode ini hanya menampilkan ikon di baki sistem:
Berikut ini akan diperlukan jika Anda memiliki formulir (untuk alasan apa pun):
Klik kanan untuk mendapatkan menu konteks ditangani secara otomatis, tetapi jika Anda ingin melakukan beberapa tindakan pada klik kiri Anda harus menambahkan Click handler:
sumber
Saya telah menulis aplikasi traybar dengan .NET 1.1 dan saya tidak memerlukan formulir.
Pertama-tama, tetapkan objek startup proyek sebagai Sub
Main
, didefinisikan dalam modul.Kemudian buat secara pemrograman komponen:
NotifyIcon
danContextMenu
.Pastikan untuk memasukkan
MenuItem
"Berhenti" atau yang serupa.Bind
ContextMenu
keNotifyIcon
.Panggil
Application.Run()
.Di event handler untuk Quit
MenuItem
pastikan untuk memanggil setNotifyIcon.Visible = False
, laluApplication.Exit()
. Tambahkan apa yang Anda butuhkanContextMenu
dan tangani dengan benar :)sumber
Form1
dari kode.Form1
.NotifyIcon
kelas untuk membuat ikon baki sistem Anda (tetapkan ikon untuknya).NotifyIcon
mouseklik dan membedakan antara klik kanan dan kiri, atur menu konteks Anda dan perlihatkan tombol mana yang pernah (kanan / kiri) ditekan.Application.Run()
untuk menjaga aplikasi berjalan denganApplication.Exit()
berhenti. Atau abool bRunning = true; while(bRunning){Application.DoEvents(); Thread.Sleep(10);}
. Kemudian aturbRunning = false;
untuk keluar dari aplikasi.sumber
Aplikasi "system tray" hanyalah aplikasi win form biasa, satu-satunya perbedaan adalah aplikasi ini membuat ikon di area system tray windows. Untuk membuat ikon sys.tray menggunakan komponen NotifyIcon, Anda dapat menemukannya di Toolbox (Kontrol umum), dan memodifikasi propertinya: Ikon, tip alat. Juga memungkinkan Anda untuk menangani pesan klik mouse dan klik dua kali.
Dan satu hal lagi, untuk mencapai tampilan dan nuansa atau aplikasi baki standar. tambahkan garis followinf pada acara acara utama Anda:
sumber
Sejauh yang saya ketahui Anda masih harus menulis aplikasi menggunakan formulir, tetapi tidak memiliki kontrol pada formulir dan tidak pernah mengaturnya terlihat. Gunakan NotifyIcon (contoh MSDN yang dapat ditemukan di sini ) untuk menulis aplikasi Anda.
sumber
Inilah cara saya melakukannya dengan Visual Studio 2010 , .NET 4
sumber
Ini adalah kerangka kerja yang sangat ramah untuk Aplikasi Area Notifikasi ... cukup untuk menambahkan NotificationIcon ke form dasar dan ubah kode yang dibuat secara otomatis ke kode di bawah ini:
sumber
Cukup tambahkan
ke objek formulir Anda. Anda hanya akan melihat ikon di baki sistem.
sumber