PDA

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



matin724
جمعه 03 شهریور 1391, 09:05 صبح
سلام
یه سوال تو vc# برام پیش اومد
یه فرم لاگین درست کردم . اگه یوزر و پسورد را اشتیاه باشه تا سه بار بتونه دوباره امتحان کنه و بعد از سه بار از صفحه خارج بشه . برای سه بار وارد کردن نمیدونم چه کدی بنویسم
ممنون میشه راهنمایی کنین

mhsmity
جمعه 03 شهریور 1391, 09:52 صبح
سلام
خوب خیلی راحت هستش.

یه شمارنده تعریف کن و در هر بار کلیک بروری دکمه ورود یه واحد به شمارنده اضافه کن و در انتهای کد های دکمه وررود
با یه دستور ساده if مقدار شمارنده رو چک کن.

amir-aa
جمعه 03 شهریور 1391, 10:30 صبح
این دوستمون راست میگن...در ضمن میتونید برای امنیت بیشتر تایمر هم بذارید که مثلا اگر بیش از نیم ساعت برنامه باز بود روی فروم لاگین ارور بده

matin724
جمعه 03 شهریور 1391, 10:33 صبح
این کد منه
private void btn_OK_Click(object sender, EventArgs e)
{

if (txt_user.Text == "admin" && txt_pass.Text == "admin")
{
frm_main m = new frm_main();
m.ShowDialog();
}
else
{

MessageBox.Show("Invalid username or Password");
txt_pass.Clear();
txt_user.Clear();
}


}
من تازه شروع کردم . هنوز کمی گیج میزنم

Arash_janusV3
جمعه 03 شهریور 1391, 10:37 صبح
private int Number = 0 ;
private void btn_OK_Click(object sender, EventArgs e)
{

if (Number <= 3)
{
if (txt_user.Text == "admin" && txt_pass.Text == "admin")
{
frm_main m = new frm_main();
m.ShowDialog();
}
else
{
Number++;
MessageBox.Show("Invalid username or Password");
txt_pass.Clear();
txt_user.Clear();
}
}
else if (Number == 4)
{
this.Close();
}
}

programerinfonet
جمعه 03 شهریور 1391, 10:43 صبح
یک متغیر از نوع عددی تعریف می کنی و مقدارش هم می گذاری 0
بعد تو رویداد کلیک دکمه بنویس متفیر+1
و بعدش هم پایینش بنویس اگه متغیره برابر با 3 بود چی کار کنه

matin724
جمعه 03 شهریور 1391, 10:59 صبح
ممنون از راهنمایی دوستان
ببخشید دو تا سوال دیگه ؟
میخوام زمانی که messagebox ظاهز میشه همراه با صدا باشه . چطور باید این کارو بکنم ؟
و دیگه اینکه چطور میشه گوشه پیجره message box یه ایکون اضافه کنم؟
ممنون

Farshid007
جمعه 03 شهریور 1391, 11:58 صبح
ممنون از راهنمایی دوستان
ببخشید دو تا سوال دیگه ؟
میخوام زمانی که messagebox ظاهز میشه همراه با صدا باشه . چطور باید این کارو بکنم ؟
و دیگه اینکه چطور میشه گوشه پیجره message box یه ایکون اضافه کنم؟
ممنون
اگه ایکون بدید صدا هم میده:
MessageBox.Show("خطای ورود به سیستم", "خطا", MessageBoxButtons.RetryCancel, MessageBoxIcon.Warning);

AmirGhasemi
جمعه 03 شهریور 1391, 13:58 عصر
دوستان عزيز من يه نكته اي به ذهنم رسيده بد نيست با شما در ميون بذارم
با اين حال كه من هميشه از همين روش هاي اعلام شده توسط دوستان استفاده مي كنم و يك شمارنده براي جلوگيري از بيش از n بار زدن توسط كاربر تعريف مي كنم مطابق آنچه كه شما عزيزان فرموديد اما نبايد از يك نكته غافل شيم و اون هم اينه كه اگه كاربر تيزهوشي بخرج بده و بعد از دو بار اشتباه زدن فرم لاگين را ببنده كانتر صفر ميشه و دوباره فرم را باز ميكنه و مجددا با آزمون و خطا سعي د ر ورود به نرم افزار مي كنه
بنابراين بايد روش ديگري غير از كانتر هم مدنظر باشه مخصوصا در نرم افزارهاي امنيتي! مثل ساعت، چك كردن CPU يا IP در نرم افزارهاي تحت شبكه و امثالهم
ممنون مي شم اگر شما هم در مورد نوشته هاي من نظري بدهيد

BEHZADnr
جمعه 03 شهریور 1391, 14:28 عصر
سلام دوست عزیز
اینطور که فهمیدم شما میخوای برنامه بعد از 3 بار خطا دیگه باز نشه ، درسته؟

matin724
جمعه 03 شهریور 1391, 17:11 عصر
جناب amighasemi به نکته خوبی اشاره کردین . یعنی باید کاری کنیم که بعد از سه بار دیگه اصلا نشه وارد شد!!
من هنوز اولای راهم چیزی به ذهنم نرسید

matin724
جمعه 03 شهریور 1391, 17:12 عصر
سلام
بله همینطوری که شما گفتی

AmirGhasemi
جمعه 03 شهریور 1391, 17:26 عصر
متين جان من دارم روي كدهايي كار مي كنم كه :
1) اگه پروژه تحت شبكه بود IP طرف را كچ كنه و مثلا تا 24 ساعت اجازه ورود مجدد بهش نده/ يا شماره سريال CPU طرف را كچ كنه و كلا بلاكش كنه
2) اگه پروژه هم تحت شبكه نبود مثلا ميشه username را گرفت يك شمارنده معكوس ساعت ساخت توي ديتابيس و آن username را مثلا تا n ساعت اجازه لاگين مجدد نداد
اگه فرصت منم و كدهايم را كامل كنم حتما كدهايش را براتون آپلود مي كنم

sinaprog
جمعه 03 شهریور 1391, 20:24 عصر
اصلا میشه از setting برنامه استفاده کرد
وبعد از تغییرات اونو عوض کرد

matin724
سه شنبه 07 شهریور 1391, 10:37 صبح
سلام
در ادامه اون فرم لاگین یه سوال برام پیش اومده .
در فرم لاگین یوزذ و پسورد را وارد میکنم و وارد فرم main میشم . تو فرم main از menustrip استفاده کردم وقتی وارد menu میشم بتونم وارد فرم های f1 , f2 , f3 که قبل ساخته بودم بشم. یه کلید close هم گداشتم که فقط میخام فرم های f1 ,f2 f3 را باز کردم ببنده ! چه کدی برای بستنش بنوسیم؟

h_assefi
سه شنبه 07 شهریور 1391, 11:11 صبح
سلام
تنها کاری که باید بکنی اینه که یک شی از فرمهات بسازی و بعد ببندیشون
form2 f=new form2();
f.close();

matin724
سه شنبه 07 شهریور 1391, 11:35 صبح
سلام
تنها کاری که باید بکنی اینه که یک شی از فرمهات بسازی و بعد ببندیشون
form2 f=new form2();
f.close();

این کارو کردم ولی جواب نداد
تو فرم main اینو نوشتم:

private void btn_close_Click(object sender, EventArgs e)
{
frm_queue c = new frm_queue();
c.Close();
}

h_assefi
چهارشنبه 08 شهریور 1391, 17:44 عصر
می تونی بگی با چه متودی بازش می کنی که این دستور اجرا نمیشه ؟
من خودم این دستور را امتحان کردم جواب میده