اول از همه باید کتابخونه مورد نیاز برای کار با رجیستری رو به برنامه اضافه کنیم:

using Microsoft.Win32


بعد میایم و برای رویداد CheckedChanged از checkBox مون، این کد رو می نویسیم:


switch (this.CHBStartWithWindows.Checked)
{
case (true):
RegistryKey key = Registry.LocalMachine.OpenSubKey(@"Software\Micros oft\Windows\CurrentVersion\Run", true);
key.SetValue("my_app_name","my_app_path");
break;
case (false):
RegistryKey key2 = Registry.LocalMachine.OpenSubKey(@"Software\Micros oft\Windows\CurrentVersion\Run", true);
key2.DeleteValue("my_app_name", false);
break;
}


و در نهایت، در سازنده فرم (یا در رویداد Load از فرم) کد زیر رو مینویسیم:


RegistryKey Startup = Registry.LocalMachine.OpenSubKey(@"Software\Micros oft\Windows\CurrentVersion\Run");

foreach (string Items in Startup.GetValueNames())
{
if (Items == "my_app_name")
{
this.CHBStartWithWindows.Checked = true;
}
}



موفق باشید.