PDA

View Full Version : سوال: فرم لاگین



jd.mn98
چهارشنبه 18 اردیبهشت 1392, 19:49 عصر
با سلام
من فردی مبتدی در سی شارپ هستم و اطلاعات محدودی در باره ی آن می دانم
می خواستم بدانم آیا با اطلاعات کمی که دارم (در حد فرم ، متغیر ها، دستوراتif و ...)می توانم یک فرم لاگین بسازم؟ اگر می شود راهنمایی کنید.
با تشکر

arash ghafori
چهارشنبه 18 اردیبهشت 1392, 19:57 عصر
سلام.

در حد یه لاگین ساده بعید میدونم نتونی...!

یه لاگین ساده میگه اگه تکست باکس نام کابری با نام شما و پسورد با پسورد شما برابر باشه بره به فرم بعدی . در غیر این صورت ارور بده .


یه لاگین خوب باید با بانک نوشته بشه... وگرنه باید برای هر کاربر یهچنین کدی بنویسی.

jd.mn98
چهارشنبه 18 اردیبهشت 1392, 19:59 عصر
ممنون میشم اگه بزارید

_behnam_
چهارشنبه 18 اردیبهشت 1392, 20:01 عصر
بله. میشود. اگه با بانک اطلاعاتی آشنایی ندارید میتوانید از فایل ها هم استفاده کنید. برای اینکه یم فرم لاگین پویا داشته باشید اما اگر آشنایی ندارید
2 راه میمونه :
1. فرم لاگین به صورت ایستا بسازید
2.کار با بانک اطلاعاتی رو یاد بگیرید
که بنده راه دوم رو پیشنهاد میکنم چون با تکنولوژی های جدیدی که اومده یادگرفتنش کار سختی نیست.
راهنمایی خواستید بگید در صورت توان دریغ نمیکنم.

موفق باشد./

jd.mn98
چهارشنبه 18 اردیبهشت 1392, 20:04 عصر
اگه میشه روش دوم رو قرار بدید.
و منظور شما از ایستا چیست؟

_behnam_
چهارشنبه 18 اردیبهشت 1392, 20:12 عصر
اگه میشه روش دوم رو قرار بدید.
و منظور شما از ایستا چیست؟
منظورم از ایستا این است که فرم لاگینی بسازید که امکان تغییر نام کاربری و کلمه عبور نباشد.
لینک زیر رو یه سر بزنید. توی همین سایت یا گوگل جستجو کنید آموزش بانک اطلاعات به صورت مبتدی فراوان است.
لینک (http://barnamenevis.org/showthread.php?346847-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%BE%D8%A7%DB%8C%DA%AF%D8%A7%D9%87-%D8%AF%D8%A7%D8%AF%D9%87-%D8%A8%D9%87-%D9%87%D9%85%D8%B1%D8%A7%D9%87-%D9%85%D8%AB%D8%A7%D9%84%D9%87%D8%A7%DB%8C-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF%DB%8C)

jd.mn98
پنج شنبه 19 اردیبهشت 1392, 07:04 صبح
اگه میشه کد فرم لاگین به صورت ایستا رو قرار بدید.

wolf_majid
پنج شنبه 19 اردیبهشت 1392, 08:15 صبح
if(txtUser.Text=="Admin" && txtPass.Text=="Admin")
frm2.ShowDialog(); // کدهای ورود مثل
else
//کدهای خطا

jd.mn98
پنج شنبه 19 اردیبهشت 1392, 11:54 صبح
خیلی ممنون کارم رو راه انداخت
ولی یه سوال دیگه هم هست
وقتی که یوزر و پس رو درست وارد کردیم و به فرم بعدی رفتیم چه کنیم که فرم لاگینی که اول بوده کاملا بسته بشه؟

arash ghafori
پنج شنبه 19 اردیبهشت 1392, 12:41 عصر
خیلی ممنون کارم رو راه انداخت
ولی یه سوال دیگه هم هست
وقتی که یوزر و پس رو درست وارد کردیم و به فرم بعدی رفتیم چه کنیم که فرم لاگینی که اول بوده کاملا بسته بشه؟

this.hide();
یعنی این فرم مخفی بشه.

jd.mn98
پنج شنبه 19 اردیبهشت 1392, 12:54 عصر
خب کدوم قسمتش بزارم
private void button1_Click(object sender, EventArgs e)
{
Form2 f=new Form2();

if (t1.Text == "Admin" && t2.Text == "Admin")

f.ShowDialog();

else
MessageBox.Show("اطلاعات وارد شده صحیح نمی باشد");

}

arash ghafori
پنج شنبه 19 اردیبهشت 1392, 12:59 عصر
خب کدوم قسمتش بزارم
private void button1_Click(object sender, EventArgs e)
{
Form2 f=new Form2();

if (t1.Text == "Admin" && t2.Text == "Admin")

f.ShowDialog();

else
MessageBox.Show("اطلاعات وارد شده صحیح نمی باشد");

}
پایین f.ShowDialog(); داخل if

afshines
پنج شنبه 19 اردیبهشت 1392, 13:04 عصر
103925

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

jd.mn98
پنج شنبه 19 اردیبهشت 1392, 13:05 عصر
:arash_ghafori
پایین f.ShowDialog(); داخل if
این کارو میکنم ولی زیر else خط قرمز میکشه

arash ghafori
پنج شنبه 19 اردیبهشت 1392, 13:11 عصر
این کارو میکنم ولی زیر else خط قرمز میکشه

اینم برنامه.

jd.mn98
پنج شنبه 19 اردیبهشت 1392, 13:32 عصر
کد
this.Hide()
فقط فرم را مخفی می کند ولی نمی بندد
من برنامتون رو دیدم بعد از اینکه اونو بستم توی تسک منیجر در background processes هنوز فعال بود.

arash ghafori
پنج شنبه 19 اردیبهشت 1392, 13:39 عصر
کد
this.Hide()
فقط فرم را مخفی می کند ولی نمی بندد
من برنامتون رو دیدم بعد از اینکه اونو بستم توی تسک منیجر در background processes هنوز فعال بود.

زیر this.hide بنویس :

Form1 s = new Form1();
s.Close();

jd.mn98
پنج شنبه 19 اردیبهشت 1392, 13:51 عصر
کار خاصی نکرد مثل قبل هنوز فعاله.

arash ghafori
پنج شنبه 19 اردیبهشت 1392, 13:55 عصر
کار خاصی نکرد مثل قبل هنوز فعاله.

مطمئنی ؟
من تست کردم... فرم 1 کاملا بسته میشه !

jd.mn98
پنج شنبه 19 اردیبهشت 1392, 14:01 عصر
بله مطمئنم این برنامه ی جدیدتون رو هم امتحان کردم هنوز فعاله.
داخل تسک منیجر قسمت background processes به نام WindowsFormsApplication1.exe فعاله.

wolf_majid
پنج شنبه 19 اردیبهشت 1392, 16:12 عصر
به صورت زیر عمل کن
فرض کن دو فرم داریم به نام های frmLogin و frmMain
frmMain رو در فایل Program.cs به عنوان فرم شروع کننده قرار میدیم
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(fals e);
Application.Run(new frmMain());
}
}
توی frmLogin کد زیر رو می نویسیم
private bool invoke = false;

private void button1_Click(object sender, EventArgs e)
{
if (txtUserName.Text == "Admin" && txtPass.Text == "Admin")
{ DialogResult = DialogResult.OK;
invoke = true;
}
else
DialogResult = DialogResult.No;


}


private void frmLogin_FormClosing(object sender, FormClosingEventArgs e)
{
if(!invoke)
DialogResult=DialogResult.No;
}
و توی frmMain کد زیر :
private void frmMain_Load(object sender, EventArgs e)
{
frmLogin login=new frmLogin();
if(login.ShowDialog()==DialogResult.No)
Application.Exit();
}

wolf_majid
پنج شنبه 19 اردیبهشت 1392, 16:25 عصر
یک کد اشتباه چقدر کار آدم رو زیاد می کنه :لبخندساده:
کد رو به صورت زیر ویرایش کن
فرم لوگین : (متغیر بولی و رخداد فرم کلوزینگ حذف شده)
public partial class frmLogin : Form
{
public frmLogin()
{
InitializeComponent();
}


private void button1_Click(object sender, EventArgs e)
{
if (txtUserName.Text == "Admin" && txtPass.Text == "Admin")
DialogResult = DialogResult.OK;
else
DialogResult = DialogResult.No;
}


private void frmLogin_Load(object sender, EventArgs e)
{

}
}
فرم اصلی :
public partial class frmMain : Form
{
public frmMain()
{
InitializeComponent();
}

private void frmMain_Load(object sender, EventArgs e)
{
frmLogin login=new frmLogin();
if(login.ShowDialog()!=DialogResult.OK)
Application.Exit();
}
}

kordestan
پنج شنبه 19 اردیبهشت 1392, 23:11 عصر
سلام...
میتونی بری به تاپیک زیر و ویدئوی آموزشی رو که خودم درست کردم رو دانلود کنی...این آموزشی رو با تکنولوژی linq درست کردم
میتونی با استفاده از این آموزشی کارهای زیر رو یاد بگیری:

1-فرم ورود و تایید صحت کاربر
2-رمز عبورتو بازیافت کنی
3-رمز عبور رو تغییر بدی

http://barnamenevis.org/showthread.php?394732-%D8%B3%D8%A7%D8%AE%D8%AA-%D9%81%D8%B1%D9%85-%D9%84%D8%A7%DA%AF%DB%8C%D9%86-%D9%88-%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1-%D9%88-%D9%87%D9%85%DA%86%D9%86%DB%8C%D9%86-%D8%A8%D8%A7%D8%B2%DB%8C%D8%A7%D8%A8%DB%8C-%D8%B1%D9%85%D8%B2-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1

jd.mn98
جمعه 20 اردیبهشت 1392, 18:20 عصر
دوستان من از همه ی شما متشکرم ولی جناب wolf_majid مطالبی رو که گذاشتید من فقط باید کپی کنم و هیچی از آن ها نمی فهمم (البته از شما عذر می خواهم که اینگونه می گویم) در اصل من می خواهم یاد بگیرم و مطالب رو بفهمم ولی در کل بسیار از کمکتون ممنونم.

jd.mn98
جمعه 20 اردیبهشت 1392, 18:22 عصر
سلام...
میتونی بری به تاپیک زیر و ویدئوی آموزشی رو که خودم درست کردم رو دانلود کنی...این آموزشی رو با تکنولوژی linq درست کردم
میتونی با استفاده از این آموزشی کارهای زیر رو یاد بگیری:

1-فرم ورود و تایید صحت کاربر
2-رمز عبورتو بازیافت کنی
3-رمز عبور رو تغییر بدی

barnamenevis.org/showthread.php?394732-ساخت-فرم-لاگین-و-تغییر-و-همچنین-بازیابی-رمز-برای-نرم-افزار (http://barnamenevis.org/barnamenevis.org/showthread.php?394732-ساخت-فرم-لاگین-و-تغییر-و-همچنین-بازیابی-رمز-برای-نرم-افزار)
لینکی که گذاشتید کار نمی کند.

kordestan
یک شنبه 22 اردیبهشت 1392, 20:00 عصر
سلام
لینک رو درست کردم...میتونی بری به صفحه ی مورد نظر:چشمک:

mohandesamir
جمعه 29 شهریور 1392, 05:31 صبح
سلام دوستان.خسته نباشید
شاید این وال من زیاد ربطی به بحث نداشته باشه ولی هرچی گشتم توی سایت نتونتم تاپیک جدید ایجاد کنم!!
من یه فرم لاگین دارم که به دیتابیس وصله.کدش هم نوشتم و اگه خواستید میذارم.
موقع اجرا ارور میده که "نمیتونه text رو با varchar مقایسه کنه! اگه میشه راهنمایی کنید.مرسی.
نوع پووردم توی دیتابیس nvarchar هست.