Thông thường, bạn sẽ chỉ làm điều này khi bạn đang sử dụng biểu tượng khay hoặc một số phương pháp khác để hiển thị biểu mẫu sau này, nhưng nó sẽ hoạt động tốt ngay cả khi bạn không bao giờ hiển thị biểu mẫu chính của mình.
Tạo bool trong lớp Biểu mẫu của bạn được mặc định là false:
private bool allowshowdisplay = false;
Sau đó ghi đè phương thức SetVibleCore
protected override void SetVisibleCore(bool value)
{
base.SetVisibleCore(allowshowdisplay ? value : allowshowdisplay);
}
Bởi vì Application.Run () đặt các dạng .Vible = true sau khi nó tải biểu mẫu, điều này sẽ chặn điều đó và đặt nó thành false. Trong trường hợp trên, nó sẽ luôn đặt nó thành false cho đến khi bạn bật nó bằng cách đặt allowhowdisplay thành true.
Bây giờ điều đó sẽ giữ cho biểu mẫu không hiển thị khi khởi động, bây giờ bạn cần kích hoạt lại SetVnableCore để hoạt động bình thường bằng cách đặt allowhowdisplay = true. Bạn sẽ muốn làm điều này trên bất kỳ chức năng giao diện người dùng nào hiển thị biểu mẫu. Trong ví dụ của tôi, đó là sự kiện nhấp chuột trái trong đối tượng notiyicon của tôi:
private void notifyIcon1_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Left)
{
this.allowshowdisplay = true;
this.Visible = !this.Visible;
}
}