خب دوست گرامی از اول مشکل رو اینطور مطرح میکردی زودتر به نتیجه میرسیدی.درسته اولین فرمی که بعد از اجرا نمایش داده میشود در Main Thread ساخته و اجرا میشود در صورت بستن همین فرم برنامه کاملا بسته میشود.برای پیاده سازی Login به اینصورت پیاده سازی میشود.
private void mainForm_Load(object sender, EventArgs e)
{
var result = new frmLogin().ShowDialog();
if (result == DialogResult.Cancel)
Application.Exit();
}
در فرم frmLogin بعد چک کردن user و password
// if user & password is valid
this.DialogResult = DialogResult.OK;