PDA

View Full Version : سوال: باز کردن فرم اصلی برنامه پس از تعیین هویت کاربر



djscsi
سه شنبه 12 مرداد 1389, 02:08 صبح
دوستان من 2 تا فرم دارم 1) فرم اصلی و 2)فرم login
و می خام به محض اجرا شدن برنامه ابتدا کاربر تعیین هویت بشه و بعد اگه username رو درست وارد کرد بتونه از نرم افزار استفاده کنه
برای این کار در این کد رو در form1_shown نوشتم . چون میخام به محض بالا اومدن برنامه فرم لاگین باز بشه و در متد close مربوط به فرم 2 اون کد رو نوشتم ..........
ولی بعد از بسته شدن فرم2 , فرم 1 همچنان باز میمونه و تابع close() مربوط به فرم 1 اجرا نمیشه ممنون میشم کمکم کنید.

اگر کلا این راه اشتباه و کد رو باید تو فرم 2 بنویسم لطفا راهنماییم کنید
ممنون



loginForm ad;
private void Form1_Shown(object sender, EventArgs e)
{
ad = new loginForm();
ad.adminenterd = null;
ad.Show();
ad.FormClosed += new FormClosedEventHandler(ad_FormClosed);
}

void ad_FormClosed(object sender, FormClosedEventArgs e)
{
if (ad.adminenterd == null)
{
Close();
}
}

اَرژنگ
سه شنبه 12 مرداد 1389, 02:32 صبح
دوستان من 2 تا فرم دارم 1) فرم اصلی و 2)فرم login
و می خام به محض اجرا شدن برنامه ابتدا کاربر تعیین هویت بشه و بعد اگه username رو درست وارد کرد بتونه از نرم افزار استفاده کنه
برای این کار در این کد رو در form1_shown نوشتم . چون میخام به محض بالا اومدن برنامه فرم لاگین باز بشه و در متد close مربوط به فرم 2 اون کد رو نوشتم ..........
ولی بعد از بسته شدن فرم2 , فرم 1 همچنان باز میمونه و تابع close() مربوط به فرم 1 اجرا نمیشه ممنون میشم کمکم کنید.

اگر کلا این راه اشتباه و کد رو باید تو فرم 2 بنویسم لطفا راهنماییم کنید
ممنون



loginForm ad;




private void Form1_Shown(object sender, EventArgs e)

{

ad = new loginForm();
ad.adminenterd = null;
ad.Show();
ad.FormClosed += new FormClosedEventHandler(ad_FormClosed);
}





void ad_FormClosed(object sender, FormClosedEventArgs e)

{
if (ad.adminenterd == null)
{
Close();
}
}




قبلاً به شدت جواب داده شده:
http://barnamenevis.org/forum/showthread.php?t=88552

ایمان مدائنی
سه شنبه 12 مرداد 1389, 08:44 صبح
شما نبايد فرم لوگين را ببندي با اونو هايد كني !
دستور بده به محض اجرا شدن برنامه فرم لوگين باز بشه بعد در صورت صحيح بودن مشخصات كاربر فرم اصلي باز بشه !
و فرم لگين رو هايد كن !

formlogin.hide();

اَرژنگ
سه شنبه 12 مرداد 1389, 10:01 صبح
شما نبايد فرم لوگين را ببندي با اونو هايد كني !
دستور بده به محض اجرا شدن برنامه فرم لوگين باز بشه بعد در صورت صحيح بودن مشخصات كاربر فرم اصلي باز بشه !
و فرم لگين رو هايد كن !

formlogin.hide();
این روش ابتدائی ناشیگرانه است و قبلاً در موردش بحث شده، و روش درست هم نشان داده شده.
چرا باید چیزی که دیگر استفاده نمیشه را در حافظه نگهدارند؟

alen332
یک شنبه 07 شهریور 1389, 12:10 عصر
كد php براي حركت بين txtbox ها با كليد enter كارساز نيست لطفا اگر كد WindowsAPPlication داريد راهنمايي كنيد

اَرژنگ
یک شنبه 07 شهریور 1389, 12:15 عصر
در ضمن نگهداری پسورد و ساخت فرمهایه لگین این ریختی درست نیست، مطالعه استفاده از Roles و Roles Based Security مدت زمانی را که بیهوده صرف این پستها میشه را باید حداقل ۹۹.۹ درصد کمتر کنه.

سهیلا صالح نوسی
پنج شنبه 25 آذر 1389, 08:08 صبح
یه سری به این لینک بزن :
http://barnamenevis.org/showthread.php?88552-%D9%85%D8%B4%DA%A9%D9%84-%D8%AF%D8%B1-%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C-%D9%81%D8%B1%D9%85-LOGIN&highlight=login

tooraj_azizi_1035
شنبه 27 آذر 1389, 14:34 عصر
سلام،
دوست عزیز مایکروسافت شیء ApplicationContext رو برای هدفی که شما دارید ساخته. Documentation این شیء رو ببینید.

payman_xxp
شنبه 27 آذر 1389, 14:58 عصر
سلام
با احترام به همه اساتید و دوستانم عرض شود که استفاده از formlogin.hide جزو یکی از روشهای غلط در برنامه نویسی و تنبلی برنامه نویس هستش.
-توی main برنامه login را show کنید.
-بعدش چک کنید آیا user pass صحیح هستش یا نه.
-اگر صحیح بود فرم اصلی را run کنید و فرم login را close کنید و اگرکه نه ،فرم لاگین باز میمونه.
موفق باشید.

tooraj_azizi_1035
شنبه 27 آذر 1389, 15:27 عصر
-اگر صحیح بود فرم اصلی را run کنید و فرم login را close کنید و اگرکه نه ،فرم لاگین باز میمونه.
موفق باشید.
مشکل اینجاست که اگر فرم Login رو Close کنید (در صورت صحت ورود اطلاعات) و Form اصلی رو Show کنید فرم اصلی هم بسته خواهد شد.
شی ApplicationContext راه حل مشکل است: http://msdn.microsoft.com/en-us/library/system.windows.forms.applicationcontext.aspx

payman_xxp
شنبه 27 آذر 1389, 15:40 عصر
مشکل اینجاست که اگر فرم Login رو Close کنید (در صورت صحت ورود اطلاعات) و Form اصلی رو Show کنید فرم اصلی هم بسته خواهد شد.
شی ApplicationContext راه حل مشکل است: http://msdn.microsoft.com/en-us/library/system.windows.forms.applicationcontext.aspx

هیچ مشکلی پیش نمیاد دوست من
همین الان دارم توی تمام برنامه هام استفاده میکنم
اگر login را run کنید بله گفته شما درسته
ولی در پست قبلی گفتم login را باید show کنید اگه صحیح بود فرم اصلی را run کنید، حالا میتونید login را close کنید.
موفق باشید.

tooraj_azizi_1035
شنبه 27 آذر 1389, 16:02 عصر
حالا اگر بخواهیم برنامه ما یک Splash Screen داشته باشه و بعد یه پنجره باز بشه و کد فعال سازی برنامه رو بخواد و بعد از اون فرم لاگین و بعد از اون فرم اتصال به پایگاه داده ظاهر بشه و تازه بعد از این مراحل فرم اصلی بخواد نمایش داده بشه چی کار باید کرد؟ آیا روش شما جواب می ده؟