9

tôi đang sử dụng mã này dưới Form1_Load tôiThông báo cho biểu tượng Ballon Mẹo Không hiển thị trong C#?

notifyIcon1.Visible = true; 
notifyIcon1.ShowBalloonTip(5000, "Welcome", "Hello " + User, ToolTipIcon.Info); 

Tôi thậm chí kiểm tra registery tôi và giá trị là 1. Tại sao các baloon không hiển thị? Tôi có biểu tượng biểu tượng thông báo của biểu tượng. và nó đang hiển thị. Baloon là không mặc dù!

Trả lời

13

Bạn có thể cần phải đăng phần còn lại của mã đó là trong trường hợp tải của mẫu của bạn, nhưng đây là một vài gợi ý:

  1. Hãy chắc chắn rằng sự kiện Load của form là thực sự nối.
  2. Đảm bảo bạn đã chỉ định biểu tượng cho biểu tượng thông báo.

Ngoài ra, lưu ý rằng mẹo bóng không được đảm bảo hiển thị. Xem phần chú thích trên NotifyIcon.ShowBalloonTip Method bài viết MSDN của:

chú
tối thiểu và giá trị thời gian chờ tối đa được thi hành bởi các hệ điều hành và thường 10 đến 30 giây, tương ứng, tuy nhiên điều này có thể khác nhau tùy thuộc vào hệ điều hành . Giá trị hết thời gian quá lớn hoặc quá nhỏ được điều chỉnh theo giá trị tối thiểu hoặc tối thiểu thích hợp . Ngoài ra, nếu người dùng thực hiện dường như không sử dụng máy tính (không có sự kiện bàn phím hoặc chuột nào là xảy ra) thì hệ thống không tính thời gian này về thời gian chờ .

Chỉ một đầu bóng có thể hiển thị trên thanh tác vụ tại một thời điểm. Đang cố gắng để hiển thị mẹo bóng khi hiện được hiển thị trên thanh tác vụ khiến giá trị thời gian chờ bị bỏ qua. Hành vi này là hơi khác nhau tùy thuộc vào hệ điều hành và liệu đầu bóng là từ ứng dụng khác hay cùng một ứng dụng. Khi mũi tên bóng thứ hai thứ hai là từ một ứng dụng khác, mẹo bóng đầu tiên sẽ hiển thị cho giá trị thời gian chờ tối thiểu trước khi xuất hiện lần thứ hai, bất kể giá trị thời gian chờ. Trong hầu hết các trường hợp, nếu các mẹo bóng là từ cùng một ứng dụng, mẹo bóng đầu tiên ngay lập tức đóng khi một cuộc gọi khác đến phương thức ShowBalloonTip được thực hiện. Trong một số trường hợp , quả bóng thứ hai sẽ mở trên đầu quả bóng đầu tiên.

Văn bản tiêu đề sẽ hiển thị bằng phông chữ đậm gần đầu quả bóng .

+0

tốt, làm thế nào để tôi buộc các máy tính để hiển thị các biểu tượng? –

+0

Xem liên kết trong câu trả lời của tôi minh họa cách sử dụng đầu bóng và gán biểu tượng. –

+3

+1 cho "Đảm bảo bạn đã chỉ định biểu tượng cho biểu tượng thông báo". Tôi nghĩ rằng bằng cách nào đó một biểu tượng mặc định sẽ được hiển thị cho đến khi tôi chỉ định một cái mới. – Joel

2

Dưới đây là một số mã mẫu cho những gì @MetroSmurf đã đề cập. Lưu ý rằng this.InitializeComponent(); phải được gọi trước khi NotifyIcon được hiển thị (thường là trong hàm tạo).

public Form1() 
{ 
    this.InitializeComponent(); 
} 

private void Form1_Load(object sender, EventArgs e) 
{ 
    notifyIcon1.Icon = new Icon(@"C:\SomePath\MyIcon.ico"); 
    notifyIcon1.Visible = true; 
    notifyIcon1.ShowBalloonTip(5000, "Welcome", "Hello " + User, ToolTipIcon.Info); 
} 

Đồng thời đảm bảo rằng cửa sổ được định cấu hình để cho phép thông báo. Trong Windows 7 kích chuột phải vào thanh tác vụ, nhấp Thuộc tính, Customize ... trong vùng thông báo, đánh dấu vào Luôn hiển thị tất cả các biểu tượng và thông báo trên các tùy chọn thanh tác vụ, bấm OK .

+0

xem câu hỏi đã chỉnh sửa –

+0

@EliteGamer Các thông báo có được bật trong Windows không? Xem câu trả lời cập nhật của tôi. –

17

Hình như bạn quên để thiết lập các biểu tượng cho nó như thế này

notifyIcon1.Icon = SystemIcons.Exclamation; 
notifyIcon1.Visible = true; 
notifyIcon1.ShowBalloonTip(5000, "Welcome", "Hello " + User, ToolTipIcon.Info); 

Cũng xin đọc cho inormation thêm về các vấn đề với NI http://www.csharp411.com/notifyiconshowballoontip-issues/

+0

xem câu hỏi đã chỉnh sửa –

+0

Tôi không thể giải thích tại sao, nhưng chỉ cần thêm dòng: 'notifyIcon1.Icon = SystemIcons.Exclamation; 'mọi thứ hoạt động đúng. Cảm ơn @HatSoft – Gary89

Các vấn đề liên quan