سلام
یه سوال تو vC# برام پیش اومد
یه فرم لاگین درست کردم . اگه یوزر و پسورد را اشتیاه باشه تا سه بار بتونه دوباره امتحان کنه و بعد از سه بار از صفحه خارج بشه . برای سه بار وارد کردن نمیدونم چه کدی بنویسم
ممنون میشه راهنمایی کنین
سلام
یه سوال تو vC# برام پیش اومد
یه فرم لاگین درست کردم . اگه یوزر و پسورد را اشتیاه باشه تا سه بار بتونه دوباره امتحان کنه و بعد از سه بار از صفحه خارج بشه . برای سه بار وارد کردن نمیدونم چه کدی بنویسم
ممنون میشه راهنمایی کنین
سلام
خوب خیلی راحت هستش.
یه شمارنده تعریف کن و در هر بار کلیک بروری دکمه ورود یه واحد به شمارنده اضافه کن و در انتهای کد های دکمه وررود
با یه دستور ساده if مقدار شمارنده رو چک کن.
این دوستمون راست میگن...در ضمن میتونید برای امنیت بیشتر تایمر هم بذارید که مثلا اگر بیش از نیم ساعت برنامه باز بود روی فروم لاگین ارور بده
این کد منه
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();
}
}
من تازه شروع کردم . هنوز کمی گیج میزنم
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();
}
}
یک متغیر از نوع عددی تعریف می کنی و مقدارش هم می گذاری 0
بعد تو رویداد کلیک دکمه بنویس متفیر+1
و بعدش هم پایینش بنویس اگه متغیره برابر با 3 بود چی کار کنه
ممنون از راهنمایی دوستان
ببخشید دو تا سوال دیگه ؟
میخوام زمانی که messagebox ظاهز میشه همراه با صدا باشه . چطور باید این کارو بکنم ؟
و دیگه اینکه چطور میشه گوشه پیجره message box یه ایکون اضافه کنم؟
ممنون
دوستان عزيز من يه نكته اي به ذهنم رسيده بد نيست با شما در ميون بذارم
با اين حال كه من هميشه از همين روش هاي اعلام شده توسط دوستان استفاده مي كنم و يك شمارنده براي جلوگيري از بيش از n بار زدن توسط كاربر تعريف مي كنم مطابق آنچه كه شما عزيزان فرموديد اما نبايد از يك نكته غافل شيم و اون هم اينه كه اگه كاربر تيزهوشي بخرج بده و بعد از دو بار اشتباه زدن فرم لاگين را ببنده كانتر صفر ميشه و دوباره فرم را باز ميكنه و مجددا با آزمون و خطا سعي د ر ورود به نرم افزار مي كنه
بنابراين بايد روش ديگري غير از كانتر هم مدنظر باشه مخصوصا در نرم افزارهاي امنيتي! مثل ساعت، چك كردن CPU يا IP در نرم افزارهاي تحت شبكه و امثالهم
ممنون مي شم اگر شما هم در مورد نوشته هاي من نظري بدهيد
سلام دوست عزیز
اینطور که فهمیدم شما میخوای برنامه بعد از 3 بار خطا دیگه باز نشه ، درسته؟
جناب amighasemi به نکته خوبی اشاره کردین . یعنی باید کاری کنیم که بعد از سه بار دیگه اصلا نشه وارد شد!!
من هنوز اولای راهم چیزی به ذهنم نرسید
سلام
بله همینطوری که شما گفتی
متين جان من دارم روي كدهايي كار مي كنم كه :
1) اگه پروژه تحت شبكه بود IP طرف را كچ كنه و مثلا تا 24 ساعت اجازه ورود مجدد بهش نده/ يا شماره سريال CPU طرف را كچ كنه و كلا بلاكش كنه
2) اگه پروژه هم تحت شبكه نبود مثلا ميشه username را گرفت يك شمارنده معكوس ساعت ساخت توي ديتابيس و آن username را مثلا تا n ساعت اجازه لاگين مجدد نداد
اگه فرصت منم و كدهايم را كامل كنم حتما كدهايش را براتون آپلود مي كنم
اصلا میشه از setting برنامه استفاده کرد
وبعد از تغییرات اونو عوض کرد
سلام
در ادامه اون فرم لاگین یه سوال برام پیش اومده .
در فرم لاگین یوزذ و پسورد را وارد میکنم و وارد فرم main میشم . تو فرم main از menustrip استفاده کردم وقتی وارد menu میشم بتونم وارد فرم های f1 , f2 , f3 که قبل ساخته بودم بشم. یه کلید close هم گداشتم که فقط میخام فرم های f1 ,f2 f3 را باز کردم ببنده ! چه کدی برای بستنش بنوسیم؟
سلام
تنها کاری که باید بکنی اینه که یک شی از فرمهات بسازی و بعد ببندیشون
form2 f=new form2();
f.close();
می تونی بگی با چه متودی بازش می کنی که این دستور اجرا نمیشه ؟
من خودم این دستور را امتحان کردم جواب میده