Tôi làm cách nào để hiển thị chú giải công cụ trên một nút bằng cách sử dụng Windows Forms?Hiển thị chú giải công cụ qua nút bằng Windows Forms
Trả lời
Chắc chắn, chỉ cần xử lý sự kiện mousehover và yêu cầu nó hiển thị mẹo công cụ. t là một tooltip được xác định hoặc trong khu vực địa hoặc trong các nhà xây dựng sử dụng:
ToolTip t = new ToolTip();
sau đó xử lý sự kiện:
private void control_MouseHover(object sender, EventArgs e)
{
t.Show("Text", (Control)sender);
}
Tôi nghĩ bạn đã bị bỏ phiếu vì đó không phải là cách để sử dụng các điều khiển ToolTip trong Windows Forms. Bạn chỉ cần một điều khiển như vậy trên biểu mẫu và nó hiển thị các mẹo cho tất cả các điều khiển. Xem mã trong các phản hồi khác. – julianz
Tôi đoán lời giải thích không phù hợp với mã, ở đâu trong lời giải thích tôi nói làm hiển thị nó và trong mã tôi khởi tạo nó là tốt. Lỗi của tôi. : P – Fry
@ julianz Trên thực tế, công cụ này hoạt động tốt để có các chú giải công cụ chuyên dụng có thể động nếu bạn muốn tùy thuộc vào trạng thái (trừ khóa học tạo ra - tha thứ cho tôi, tôi chỉ đang cố gắng hợp với tất cả thành một khối). phản ứng trên một tĩnh mạch tương tự ... yshuditelu và Dylan Beattie tương tự mặc dù không có sự khởi tạo. – Fry
Bạn có thể sử dụng lớp ToolTip:
Creating a ToolTip for a Control
Ví dụ:
private void Form1_Load(object sender, System.EventArgs e)
{
System.Windows.Forms.ToolTip ToolTip1 = new System.Windows.Forms.ToolTip();
ToolTip1.SetToolTip(this.Button1, "Hello");
}
Đây là giải pháp hoàn hảo vì nó tích hợp trực tiếp với mã VS được tạo tự động. Cảm ơn :) – anon58192932
@DaveK Cảm ơn. Bằng cách này tốt hơn vì tôi có thể xác định tất cả các chú giải công cụ ở một nơi – fedeteka
Khuôn khổ .NET cung cấp lớp ToolTip. Thêm một trong những mẫu của bạn và sau đó trên các sự kiện MouseHover cho mỗi mục bạn muốn một tooltip cho, làm điều gì đó như sau:
private void checkBox1_MouseHover(object sender, EventArgs e)
{
toolTip1.Show("text", checkBox1);
}
Các ToolTip thực sự là một điều khiển WinForms xử lý hiển thị mẹo công cụ cho nhiều các phần tử trên một biểu mẫu duy nhất.
Nói nút của bạn được gọi là MyButton.
- Thêm một điều khiển ToolTip (trong Common Điều khiển trong biểu mẫu Windows hộp công cụ) vào biểu mẫu của bạn.
- Cho nó một cái tên - nói MyToolTip
- Đặt "Tooltip trên MyToolTip" tài sản của myButton (dưới Misc trong nút lưới tài sản) vào văn bản sẽ hiển thị khi bạn di chuột qua nó.
Các tooltip sẽ tự động xuất hiện khi con trỏ dao động qua nút, nhưng nếu bạn cần để hiển thị nó programatically, gọi
MyToolTip.Show("Tooltip text goes here", MyButton)
trong mã của bạn để hiển thị tooltip, và MyToolTip.Hide (myButton) để biến nó trở lại.
, nhưng câu hỏi: nếu tôi có nhiều nút trong biểu mẫu, tôi cần thêm chú giải công cụ hoặc tôi có thể đặt nhiều mô tả và nút cho cùng một chú giải công cụ? – ghiboz
Biểu mẫu của bạn chỉ cần một điều khiển ToolTip duy nhất - mỗi nút có thể có văn bản trợ giúp khác nhau (đây là lý do tại sao "Chú giải công cụ trên MyToolTip" là thuộc tính của điều khiển được liên kết, chứ không phải của điều khiển ToolTip) –
Trong trường hợp đơn giản nhất thêm chú giải công cụ cho Form là điều tốt nhất để làm. Sự cố: tại thời điểm thiết kế của Kiểm soát tùy chỉnh, bạn không có tham chiếu đến Biểu mẫu gốc. Giải pháp: tạo một đối tượng tooltip trong Control. Đừng nghĩ đến đối tượng ToolTip nhất thiết phải được gắn vào Form. –
Sử dụng thiết kế mẫu:
- Kéo điều khiển ToolTip từ hộp công cụ, lên form.
- Chọn thuộc tính của điều khiển mà bạn muốn đầu công cụ xuất hiện.
- Tìm thuộc tính 'Chú giải công cụ trên công cụTip1' (tên có thể không phải là công cụMẹo1 nếu bạn thay đổi tên mặc định của nó).
- Đặt văn bản của thuộc tính thành văn bản mẹo công cụ mà bạn muốn hiển thị.
Bạn có thể thiết lập cũng là mẹo của công cụ programatically sử dụng cuộc gọi sau đây:
this.toolTip1.SetToolTip(this.targetControl, "My Tool Tip");
Đối với tooltip mặc định này có thể được sử dụng -
System.Windows.Forms.ToolTip ToolTip1 = new System.Windows.Forms.ToolTip();
ToolTip1.SetToolTip(this.textBox1, "Hello world");
Một tooltip tùy chỉnh cũng có thể được sử dụng trong trường hợp nếu định dạng được yêu cầu cho thông báo chú giải công cụ. Điều này có thể được tạo bằng cách định dạng tùy chỉnh biểu mẫu và sử dụng nó làm hộp thoại chú giải công cụ trên sự kiện di chuột của điều khiển. Vui lòng kiểm tra sau liên kết để biết thêm chi tiết -
http://newapputil.blogspot.in/2015/08/create-custom-tooltip-dialog-from-form.html
Lazy và văn bản lưu trữ nhỏ gọn trong Tag tài sản
Nếu bạn là một chút lười biếng và không sử dụng các Tag tài sản của các điều khiển cho bất kỳ thứ gì khác bạn có thể sử dụng để lưu trữ văn bản chú giải công cụ và chỉ định MouseHover trình xử lý sự kiện cho tất cả các điều khiển như vậy:
private System.Windows.Forms.ToolTip ToolTip1;
private void PrepareTooltips()
{
ToolTip1 = new System.Windows.Forms.ToolTip();
foreach(Control ctrl in this.Controls)
{
if (ctrl is Button && ctrl.Tag is string)
{
ctrl.MouseHover += new EventHandler(delegate(Object o, EventArgs a)
{
var btn = (Control)o;
ToolTip1.SetToolTip(btn, btn.Tag.ToString());
});
}
}
}
Trong trường hợp này tất cả các nút có một chuỗi trong Tag tài sản được gán một kiện MouseHover. Để giữ cho nó nhỏ gọn, sự kiện MouseHover được xác định nội tuyến bằng cách sử dụng biểu thức lambda. Trong trường hợp bất kỳ nút nào được di chuột sẽ có văn bản Thẻ được gán cho Chú giải công cụ và được hiển thị.
private void Form1_Load(object sender, System.EventArgs e){ ToolTip toolTip1 = new ToolTip(); toolTip1.AutoPopDelay = 5000; toolTip1.InitialDelay = 1000; toolTip1.ReshowDelay = 500;toolTip1.ShowAlways = true; toolTip1.SetToolTip(this.button1, "My button1"); toolTip1.SetToolTip(this.checkBox1, "My checkBox1");}
Trong khi đoạn mã này có thể giải quyết được câu hỏi, [bao gồm cả giải thích] (http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) thực sự giúp cải thiện chất lượng bài đăng của bạn.Hãy nhớ rằng bạn đang trả lời câu hỏi cho người đọc trong tương lai và những người đó có thể không biết lý do cho đề xuất mã của bạn. – secelite
- 1. Phím tắt VS2010 - Hiển thị Chú giải công cụ
- 2. Chú giải công cụ di chuột TreeNode không hiển thị
- 3. Hiển thị chú giải công cụ cho MenuItem
- 4. Cách hiển thị chú giải công cụ khi nhấp chuột
- 5. Hiển thị chú giải công cụ trong biểu đồ canvas
- 6. chú giải công cụ cho Nút
- 7. wpf - xác thực - cách hiển thị chú giải công cụ và tắt nút "chạy"
- 8. wpf: cách hiển thị chú giải công cụ khi nút bị tắt theo lệnh?
- 9. Hiển thị chú giải công cụ khi di chuột qua điểm đánh dấu tùy chỉnh
- 10. Cách lấy chú giải công cụ để hiển thị khi di chuột qua một ToolStripStatusLabel?
- 11. Chú giải công cụ cho QPushButton
- 12. Có thể hiển thị chú giải công cụ trên biểu đồ mạngx không?
- 13. C# Chú giải công cụ không xuất hiện trên "Hiển thị"
- 14. Hiển thị chú giải công cụ cho chuỗi vô hình trong Highcharts
- 15. C# Hiển thị chú giải công cụ trên hộp văn bản bị tắt (Biểu mẫu)
- 16. Hiển thị chú giải công cụ lập trình trong ứng dụng winforms
- 17. Chú giải công cụ trong .Net
- 18. Hiển thị chú giải công cụ trên asp.net Điều khiển biểu đồ MS
- 19. Hiển thị chú giải công cụ trên một ToolStripItem không tập trung
- 20. Hiển thị chú giải công cụ trên di chuột của văn bản
- 21. sử dụng chú giải công cụ để hiển thị chi tiết hàng của bảng (jQuery)
- 22. Tại sao Visual Studio 2012 và ReSharper 7 quên hiển thị chú giải công cụ Intellisense?
- 23. Cách tăng chú giải công cụ thời gian vẫn hiển thị trong Visual Studio
- 24. Yii, hiển thị chú giải công cụ trong giá trị cgridview (bảng)
- 25. Chú giải công cụ không hiển thị khi không có lỗi xác thực WPF
- 26. Có cách nào để buộc Firefox hiển thị lại tiêu đề/chú giải công cụ không?
- 27. winforms - chú giải công cụ của nhãn thanh trạng thái không hiển thị
- 28. Làm cách nào để hiển thị chú giải công cụ systray dài hơn 63 ký tự?
- 29. Làm thế nào để hiển thị lỗi IDataErrorInfo trong chú giải công cụ trên DataGridTextColumn?
- 30. Firefox không hiển thị chú giải công cụ trên các trường nhập bị vô hiệu hóa
bài viết sau tốt nhất giải thích nó với hình ảnh: [http://www.dotnetperls.com/tooltip](http://www.dotnetperls.com/tooltip) – vaichidrewar
http://idownvotedbecau.se/noresearch/ –