PDA

View Full Version : سوال: یه مشکل در فرم login



hahaie
یک شنبه 09 خرداد 1395, 09:20 صبح
سلام دوستان.
نمایش فرم لاگین توی برنامه من بدین صورته که ابتدا فرم اصلی نشون داده میشه و به حالت minimize میره سپس فرم login و در صورتی که رمز عبور و. .. درست بود فرم لاگین بسته میشه و فرم اصلی maximize میشه.
فقط یه مشکلی هست اینه که وقتی فرم لاگین نشون داده میشه آیکن فرم اصلی توی taskbar نشون داده میشه و اگه کاربر روی اون کلیک کنه فرم اصلی نشون داده میشه(maximize میشه) (البته چون فرم لاگین به صورت dialog نشون داده میشه فرم اصلی به حالت قفل شده است)و فرم لاگین میره پشت.
باید چکار کرد که وقتی کاربر روی آیکن فرم اصلی توی taskbarکلیک میکنه فرم maximize نشه؟؟

alireza4474
یک شنبه 09 خرداد 1395, 12:02 عصر
سلام
پیشنهاد من اینه که اول فرم لاگین رو باز کنی و خاصیت showInTaslbar رو غیر فعال کنی وقتی کاربر درست لاگین کرد قبل از نشون دادن فرم اصلی فرم لاگین hide میشه و بعد از نشون دادن فرم اصلی کد close رو بنویس تا لاگین بسته شه اما اگه میخوای بعد از بسته شدن فرم اصلی لاگین دوباره نشون داده بشه به جای close بنویس this.visible=true;

pouya_team
یک شنبه 09 خرداد 1395, 12:08 عصر
سلام میتونی از این کد هم استفاده کنی

فرم لاگین =

form1 fr=new form1();
this.hide();
fr.show();


و برای قفل کردن دوباره از کد زیر

login fr=new login();
this.close();
fr.show();

محمد آشتیانی
یک شنبه 09 خرداد 1395, 13:55 عصر
سلام
دلیل خاصی داشتید برای این مدل نمایش دادن فرم لاگین؟ چرا ابتدا فرم لاگین رو لود نمی کنید و در صورت معتبر بودن اطلاعات کاربری ، فرم اصلی رو نمایش نمی دید.
ضمنا منظورم Hide کردن فرم اصلی نیست.

اگر مشکلتون اینه که با بستن فرم اصلی برنامه بسته میشه ، پست شماره 3 تاپیک زیر رو مطالعه کنید

در تاپیک زیر داخل کلاس MyContext به جای Form1 نام فرم لاگین خودتونو قرار بدید و در ادامه ، داخل فرم لاگین خودتون ، اگر اطلاعات کاربری معتبر بود ، فرم لاگین رو Close کنید و فرم اصلیتون رو نمایش بدید.
http://barnamenevis.org/showthread.php?463596-%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1-%D9%81%D8%B1%D9%85-%D8%A7%D8%B5%D9%84%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87&p=2075995&viewfull=1#post2075995



موفق باشید.

pouya_team
یک شنبه 09 خرداد 1395, 14:04 عصر
سلام
دلیل خاصی داشتید برای این مدل نمایش دادن فرم لاگین؟ چرا ابتدا فرم لاگین رو لود نمی کنید و در صورت معتبر بودن اطلاعات کاربری ، فرم اصلی رو نمایش نمی دید.

ضمنا منظورم Hide کردن فرم اصلی نیست.


اگر مشکلتون اینه که با بستن فرم اصلی برنامه بسته میشه ، پست شماره 3 تاپیک زیر رو مطالعه کنید

در تاپیک زیر داخل کلاس MyContext به جای Form1 نام فرم لاگین خودتونو قرار بدید و در ادامه ، داخل فرم لاگین خودتون ، اگر اطلاعات کاربری معتبر بود ، فرم لاگین رو Close کنید و فرم اصلیتون رو نمایش بدید.
http://barnamenevis.org/showthread.p...=1#post2075995 (http://barnamenevis.org/showthread.php?463596-%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1-%D9%81%D8%B1%D9%85-%D8%A7%D8%B5%D9%84%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87&p=2075995&viewfull=1#post2075995)




موفق باشید.

با سلام

من در کدم اول فرم رو بستم بعد فرم بعدی رو باز کردم

زیرا

از کدی برای شفاف شدن فرم هنگام بسته شدن استفاده میکنم

میخواستم که شفاف شدنش معلوم باشه

برنامه من اینه =


http://barnamenevis.org/showthread.php?524372-%D8%A7%D8%AA%D8%B5%D8%A7%D9%84-%D8%A7%DA%A9%D8%B3%D8%B3-%D8%A8%D9%87-%D8%B3%DB%8C-%D8%B4%D8%A7%D8%B1%D9%BE&p=2322681&viewfull=1#post2322681

رمزش هم توی همون تاپیک هست

aqm176
یک شنبه 09 خرداد 1395, 14:08 عصر
سلام پیشنهادات زیاده.
اما به نظر من میشه در فرم ها به صورت مادر فرزندی استفاده کرد که اینگونه دچار مشکل نشد.

البته نظر اساتید گرامی است.

hahaie
دوشنبه 10 خرداد 1395, 08:05 صبح
سلام
دلیل خاصی داشتید برای این مدل نمایش دادن فرم لاگین؟ چرا ابتدا فرم لاگین رو لود نمی کنید و در صورت معتبر بودن اطلاعات کاربری ، فرم اصلی رو نمایش نمی دید.
ضمنا منظورم Hide کردن فرم اصلی نیست.

اگر مشکلتون اینه که با بستن فرم اصلی برنامه بسته میشه ، پست شماره 3 تاپیک زیر رو مطالعه کنید

در تاپیک زیر داخل کلاس MyContext به جای Form1 نام فرم لاگین خودتونو قرار بدید و در ادامه ، داخل فرم لاگین خودتون ، اگر اطلاعات کاربری معتبر بود ، فرم لاگین رو Close کنید و فرم اصلیتون رو نمایش بدید.
http://barnamenevis.org/showthread.php?463596-%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1-%D9%81%D8%B1%D9%85-%D8%A7%D8%B5%D9%84%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87&p=2075995&viewfull=1#post2075995



موفق باشید.


دوست عزیز اون خطی که به جای Form1 فرم لاگین رو مینویسیم این خطا رو میده:
The type initializer for "myproject.F_Login" threw an exception
اسم یه فرم دیگه ای رو بجای فرم لاگین گذاشتم دیدم خطا نمیده بنابراین اومدم یه فرم لاگین دیگه طراحی کردم با همون اشیاء و کدها ولی بازم اون خطا رو میده.
چرا؟

محمد آشتیانی
دوشنبه 10 خرداد 1395, 08:25 صبح
سلام
لطفا Inner Exception مربوط به TypeInitializationException رو بررسی بفرمائید. ببینید جزئیات این خطا چیه

hahaie
دوشنبه 10 خرداد 1395, 08:46 صبح
فهمیدم به خاطر نمونه ای بوده که از dataclasses درست کردم.یعنی اون رو خطا میگیره.
اون خط کد رو که در محل مخصوص مربوط به معرفی متغیرهای عمومی هستش رو برداشتم و آوردم گذاشتم توی دکمه ورود و باز هم خطا داد که:
object references not set to an instance of an object

hahaie
دوشنبه 10 خرداد 1395, 09:11 صبح
آقا ورودی ای که موقع new کردن میدادم رو برداشتم درست شد!(خدا بدادم برسه با این طرز برنامه نوشتن!!!!)
منتها یه ایرادی داره که وقتی فرم لاگین بسته میشه فرم اصلی minimize شده هستش

sajedmalayeri
یک شنبه 23 خرداد 1395, 14:18 عصر
سلام دوست عزیز
شما فرم لاگین رو فرم Main (اصلی برنامه) قرار بدید و بعد اگه یوزر پسورد درست بود :
this.Hide();
Frmname fName = new Frmname();
fName.ShowDialog();
از این راه استفاده کنید به نظر من بهتره

sajedmalayeri
یک شنبه 23 خرداد 1395, 14:21 عصر
ببخشید من هواس ام نبود . زیرا اگه فرم اصلی بسته بشه کل اپلیکیشن بسته میشه به این علت باید اون رو Hide کنید ولی باید برای فرم بعدی که فرم برنامه است توی رویداد Form Closing این کد رو بنویسید :
Application.ExitThread();