ToolTip sebenarnya adalah kontrol WinForms yang menangani menampilkan tips alat untuk beberapa elemen dalam satu bentuk.
Katakanlah tombol Anda disebut MyButton.
Tambahkan kontrol ToolTip (di bawah Kontrol Umum di kotak formulir Windows Forms) ke formulir Anda.
Beri nama - ucapkan MyToolTip
Setel properti "Tooltip on MyToolTip" dari MyButton (di bawah Misc di kisi properti tombol) ke teks yang akan muncul ketika Anda mengarahkan kursor ke sana.
Tip alat akan secara otomatis muncul ketika kursor melayang di atas tombol, tetapi jika Anda perlu menampilkannya secara terprogram, panggil
MyToolTip.Show("Tooltip text goes here",MyButton)
dalam kode Anda untuk menampilkan tooltip, dan MyToolTip.Sembunyikan (MyButton) untuk membuatnya menghilang lagi.
bagus, tetapi sebuah pertanyaan: jika saya memiliki lebih dari satu tombol dalam formulir, saya perlu lebih banyak tooltip atau saya dapat mengatur beberapa deskripsi dan tombol untuk tooltip yang sama?
ghiboz
8
Formulir Anda hanya memerlukan kontrol ToolTip tunggal - setiap tombol dapat memiliki teks bantuan yang berbeda (inilah sebabnya "Tooltip di MyToolTip" adalah properti dari kontrol terkait, bukan kontrol ToolTip itu sendiri)
Dylan Beattie
2
Dalam kasus paling sederhana, menambahkan tooltip ke Form adalah hal terbaik untuk dilakukan. Masalah: pada saat desain Kontrol kustom Anda tidak memiliki referensi ke Formulir induk. Solusi: buat objek tooltip di Kontrol. Jangan menganggap objek ToolTip sebagai hal yang terlampir pada Formulir.
Stéphane Gourichon
93
Menggunakan desainer formulir:
Seret kontrol ToolTip dari Toolbox, ke formulir.
Pilih properti kontrol yang Anda inginkan pada ujung alat muncul.
Temukan properti 'ToolTip pada toolTip1' (namanya mungkin bukan toolTip1 jika Anda mengubah nama defaultnya).
Setel teks properti ke teks tip alat yang ingin Anda tampilkan.
Anda dapat mengatur juga tip alat secara terprogram menggunakan panggilan berikut:
Tooltip yang dikustomisasi juga dapat digunakan jika perlu format untuk pesan tooltip. Ini dapat dibuat dengan memformat kustom formulir dan menggunakannya sebagai dialog tooltip pada acara mouse kontrol hover. Silakan periksa tautan berikut untuk detail lebih lanjut -
Jika Anda agak malas dan tidak menggunakan properti Tag dari kontrol untuk hal lain, Anda dapat menggunakannya untuk menyimpan teks tooltip dan menetapkan pengendali event MouseHover ke semua kontrol seperti itu dalam sekali jalan seperti ini:
Dalam hal ini semua tombol yang memiliki string di properti Tag ditetapkan sebagai peristiwa MouseHover . Agar tetap kompak, acara MouseHover didefinisikan sebaris menggunakan ekspresi lambda. Jika ada tombol apa pun yang melayang-layang akan memiliki tag teks yang ditetapkan untuk Tooltip dan ditampilkan.
Kerangka .NET menyediakan kelas ToolTip. Tambahkan salah satu dari itu ke formulir Anda dan kemudian pada acara MouseHover untuk setiap item yang Anda inginkan untuk tooltip, lakukan sesuatu seperti berikut ini:
Sementara potongan kode ini dapat menyelesaikan pertanyaan, termasuk penjelasan sangat membantu untuk meningkatkan kualitas posting Anda. Ingatlah bahwa Anda menjawab pertanyaan untuk pembaca di masa depan, dan orang-orang itu mungkin tidak tahu alasan untuk saran kode Anda.
secelite
0
Berdasarkan jawaban DaveK , saya membuat ekstensi kontrol:
Tentu, cukup tangani acara mousehover dan katakan untuk menampilkan tip alat. t adalah tooltip yang didefinisikan dalam global atau dalam konstruktor menggunakan:
Saya pikir Anda ditolak karena itu bukan cara untuk menggunakan kontrol ToolTip di Formulir Windows. Anda hanya perlu satu kontrol seperti itu pada formulir dan itu menunjukkan tips untuk semua kontrol. Lihat kode di tanggapan lain.
Julian Melville
1
Saya kira penjelasannya tidak sesuai dengan kode, Di mana dalam penjelasan yang saya katakan lakukan menampilkannya dan dalam kode saya menginisialisasi juga. Salahku. : P
Fry
2
@ julianz Sebenarnya, ini bekerja dengan baik karena memiliki tooltips khusus yang bisa dinamis jika Anda ingin bergantung pada keadaan (minus tentu saja kreasi - maafkan saya, saya hanya mencoba memasukkan semuanya ke dalam satu blok.) Adapun tanggapan lain pada nada yang sama ... yshuditelu dan Dylan Beattie serupa meskipun tanpa instantiation.
Jawaban:
ToolTip sebenarnya adalah kontrol WinForms yang menangani menampilkan tips alat untuk beberapa elemen dalam satu bentuk.
Katakanlah tombol Anda disebut MyButton.
Tip alat akan secara otomatis muncul ketika kursor melayang di atas tombol, tetapi jika Anda perlu menampilkannya secara terprogram, panggil
dalam kode Anda untuk menampilkan tooltip, dan MyToolTip.Sembunyikan (MyButton) untuk membuatnya menghilang lagi.
sumber
Menggunakan desainer formulir:
Anda dapat mengatur juga tip alat secara terprogram menggunakan panggilan berikut:
sumber
Anda bisa menggunakan kelas ToolTip:
Membuat Tip Alat untuk Kontrol
Contoh:
sumber
new ToolTip().SetToolTip(this.Button1, "Hello");
Untuk tooltip default ini dapat digunakan -
Tooltip yang dikustomisasi juga dapat digunakan jika perlu format untuk pesan tooltip. Ini dapat dibuat dengan memformat kustom formulir dan menggunakannya sebagai dialog tooltip pada acara mouse kontrol hover. Silakan periksa tautan berikut untuk detail lebih lanjut -
http://newapputil.blogspot.in/2015/08/create-custom-tooltip-dialog-from-form.html
sumber
Malas dan kompak menyimpan teks di properti Tag
Jika Anda agak malas dan tidak menggunakan properti Tag dari kontrol untuk hal lain, Anda dapat menggunakannya untuk menyimpan teks tooltip dan menetapkan pengendali event MouseHover ke semua kontrol seperti itu dalam sekali jalan seperti ini:
Dalam hal ini semua tombol yang memiliki string di properti Tag ditetapkan sebagai peristiwa MouseHover . Agar tetap kompak, acara MouseHover didefinisikan sebaris menggunakan ekspresi lambda. Jika ada tombol apa pun yang melayang-layang akan memiliki tag teks yang ditetapkan untuk Tooltip dan ditampilkan.
sumber
Kerangka .NET menyediakan kelas ToolTip. Tambahkan salah satu dari itu ke formulir Anda dan kemudian pada acara MouseHover untuk setiap item yang Anda inginkan untuk tooltip, lakukan sesuatu seperti berikut ini:
sumber
sumber
Berdasarkan jawaban DaveK , saya membuat ekstensi kontrol:
Kemudian Anda dapat mengatur tooltip untuk kontrol apa pun dengan satu baris:
sumber
Tentu, cukup tangani acara mousehover dan katakan untuk menampilkan tip alat. t adalah tooltip yang didefinisikan dalam global atau dalam konstruktor menggunakan:
maka pengendali acara:
sumber