//一、开机自动启动:

//拖一个CheckBox

//1、软件启动时给CheckBox重置状态:

RegistryKey R_local = Registry.LocalMachine;
            RegistryKey R_run =R_local.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run");
            if(R_run.GetValue("BirthdayTipF") == null)
            {
                checkBox1.Checked= false;
            }
            else
            {
               checkBox1.Checked = true;
            }
            R_run.Close();
            R_local.Close();

//2、CheckChanged事件:

private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
            string R_startPath =Application.ExecutablePath;
            if (checkBox1.Checked ==true)
            {
                RegistryKeyR_local = Registry.LocalMachine;
                RegistryKeyR_run = R_local.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run");
               R_run.SetValue("BirthdayTipF", R_startPath);
               R_run.Close();
               R_local.Close();
            }
            else
            {
                try
                {
                   RegistryKey R_local = Registry.LocalMachine;
                   RegistryKey R_run =R_local.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run");
                   R_run.DeleteValue("BirthdayTipF", false);
                   R_run.Close();
                   R_local.Close();
                }
                catch(Exception ex)
                {
                   MessageBox.Show("您需要管理员权限修改","提示", MessageBoxButtons.OK,MessageBoxIcon.Error);
                   throw;
                }
                
            }
        }

//二、最小化到系统托盘
//拖一个NotifyIcon
//设置form的showInTastbar属性为false

this.SizeChanged += new System.EventHandler(this.Form1_SizeChanged);

private void Form1_SizeChanged(object sender, EventArgs e)
        {
            if (this.WindowState ==FormWindowState.Minimized)
            {
                this.Hide();
               this.notifyIcon1.Visible = true;
            }
        }
        private void notifyIcon1_Click(objectsender, EventArgs e)
        {
            this.Visible = true;
            this.WindowState =FormWindowState.Normal;
            this.notifyIcon1.Visible =false;
        }