Скрыть форму при запуске в C # - PullRequest
1 голос
/ 11 июля 2011

я пытаюсь скрыть форму в c # при запуске ...

то, что я хочу, это программа всплывающей подсказки панели задач, например:

enter image description here

Но я пробую разные вещи, но не могу скрыть форму!

public partial class Form1 : Form
{
     public Form1()
    {
        InitializeComponent();
    }

     private void Form1_Load(object sender, EventArgs e)
     {
         this.Visible = false;
     }

     private void notifyIcon1_MouseDoubleCLick(object sender, MouseEventArgs e)
     {
         notifyIcon1.ShowBalloonTip(500, "Title", "Tip text", ToolTipIcon.Info);
     }

}

Я надеюсь, что кто-то может мне помочь: -)

Ответы [ 2 ]

3 голосов
/ 11 июля 2011

Взгляните на это: http://www.vbforums.com/showthread.php?t=637483 вместо того, чтобы делать то, что вы делаете.

Кроме того, проблема в том, что при загрузке формы она еще не видна.Обрабатывать событие Shown вместо события Load.

2 голосов
/ 11 июля 2011

Я делал что-то похожее с этим раньше (возможно, я даже использовал ссылку выше в качестве ссылки), но вот как я это выполнил.

В вашем основном методе (обычно program.cs) вы хотите, чтобы ваш код выглядел примерно так ...

Application.EnableVisualStyles();
createIcon cIcon = createIcon.getIconObject();
Application.Run();
cIcon = null;

Внутри вашего класса createIcon у вас будет что-то в такой степени:

private static readonly createIcon cIcon = new createIcon();
private NotifyIcon notify;
private ContextMenuStrip contextMenu = new ContextMenuStrip();
private bool IsDisposing = false;

public static createIcon getIconObject()
{
      return cIcon;
}

private createIcon()
{
            ToolStripMenuItem ssItem = new ToolStripMenuItem("Open", null, new EventHandler(notify_DoubleClick));
            contextMenu.Items.Add(ssItem);
            ssItem = new ToolStripMenuItem("Settings",null, new EventHandler(settings_Click));
            contextMenu.Items.Add(ssItem);
            ssItem = new ToolStripMenuItem("About", null, new EventHandler(about_Click));
            contextMenu.Items.Add(ssItem);
            ssItem = new ToolStripMenuItem("Exit", null, new EventHandler(Menu_OnExit));
            contextMenu.Items.Add(ssItem);

            notify = new NotifyIcon();
            notify.Icon = "Icon.ICO";
            notify.Text = "Name";
            notify.ContextMenuStrip = contextMenu;
            notify.DoubleClick += new EventHandler(notify_DoubleClick);
            notify.Visible = true;
}

public void Dispose()
{
     if (!IsDisposing)
     {
         IsDisposing = true;
     }
}

private void notify_DoubleClick(object sender, EventArgs e)
{
    .... code here
}

Это должно помочь вам начать, и вы можете изменить его так, чтобы он работал лучше для вас:)

...