PDA

View Full Version : مشکل در طراحی فرم LOGIN



mohsenns5
پنج شنبه 29 آذر 1386, 00:24 صبح
لطفا طراحی یک فرم Login برای برنامه های تحت ویندوز در زبان C# را توضیح دهید. یا یک نمونه برنامه جهت این کار معرفی کنید.
البته بنده تقریبا همه کارها رو کردم فقط یه مشکل هست اونم اینکه در فرم Login من اگه کاربر دکمه Cancel یا ضربدر بالای فرم رو بزنه میتونه وارد برنامه بشه . برای رفع مشکل چکار باید کرد؟

silentrise
پنج شنبه 29 آذر 1386, 01:16 صبح
سلام
شما می توانید ضربدرForm رو Disable کنی و در دکمه ی Cancel کدی را بنا بر وارد نکردن اطلاعات مورد نظر بنویسید که اگر فیلد های شما پر نشده باشند عمل Cancel رو انجام نده.
باسپاس

silentrise
پنج شنبه 29 آذر 1386, 01:32 صبح
از دوستان بزرگوار می خوام این فایل رو ببین و ایراد بگیرن چون خودم هم مطمین نیستم.
باسپاس.

alirzn
پنج شنبه 29 آذر 1386, 07:08 صبح
به نظر من روی فرم اصلی اولیت یک groupbox که حاوی username و password باشه رو اضافه کن. و تمام کنترل های فرمت رو disable کن . وقتی username و password درست بود اونوقت اونا رو enable کن . من خودم از این روش واسه login استفاده میکنم.


لطفا طراحی یک فرم Login برای برنامه های تحت ویندوز در زبان C# را توضیح دهید. یا یک نمونه برنامه جهت این کار معرفی کنید.
البته بنده تقریبا همه کارها رو کردم فقط یه مشکل هست اونم اینکه در فرم Login من اگه کاربر دکمه Cancel یا ضربدر بالای فرم رو بزنه میتونه وارد برنامه بشه . برای رفع مشکل چکار باید کرد؟

اَرژنگ
پنج شنبه 29 آذر 1386, 08:48 صبح
با سلام و درود بر silentrise (http://barnamenevis.org/forum/member.php?u=47550)،
به نظر من کسی که درخواست کند که از کدش ایراد بگیرند در راه موفقیت گام برمیدارد.
با پیروی از شما، این کد حرفه‌ای ترین کدی است که برایه این کار به نظرم رسید، از دوستان درخواست میکنم که به این مثال ایراد بگیرند و اینکه چه طوری میشه بیشتر حرفه‌ای باشد را پیشنهاد کنند.

Login=login
Password = password

silentrise
پنج شنبه 29 آذر 1386, 09:29 صبح
با تشکر از شما اَرژنگ
این قسمت رو اگه توضیح بدید ممنون میشم.

get { return LogintextBox.Text; }
set { LogintextBox.Text = value; }

اَرژنگ
پنج شنبه 29 آذر 1386, 09:47 صبح
با تشکر از شما اَرژنگ
این قسمت رو اگه توضیح بدید ممنون میشم.

get { return LogintextBox.Text; }
set { LogintextBox.Text = value; }


ما لگین و پسورد را مستقیما از تکست باکس میگیریم و درش ذخیره میکنیم ( به عِنوان مثال اگر قرار باشد که لگین اآخرین کاربردی که لگین کرد را نگه داریم که وقتی که خواست دوباره لگین کند احتیاجی به تایپ کردن لگینش نباشد.)

mohsenns5
پنج شنبه 29 آذر 1386, 13:50 عصر
ممنون از همه جوابها. دوستان لطف کنند یک نمونه از فرم Login که کاربر بتونه یوزر و پسورد رو تغییر بده بذارید تو فوروم. همچنین بشه کاربر جدید با کلمه عبور دلخواه تا هر چند تا که بخوایم اضافه کنیم(توسط کاربران)
یک نمونه برنامه میذارم لطفا نگاش کنید. میخوام در فرم لوگین اگه کاربر انصراف رو زد یا ضربدر بالای فرم رو کلیک کرد یا کلید Esc رو زد فرم برنامه نمایش داده نشه. ضمنا ظاهر برنامه همینطور باقی بمونه مثلا نمیخوام ضربدر بالای فرم رو حذف کنم. (برنامه رو به اسم WindowsApplication_Login گذاشتم پایین) یه روشی رو به من گفتن که براتون میگم اما یه کم ایراد داره: خاصیت AcceptButton فرم لوگین رو به btnLogin و خاصیت CancelButton اون رو به CancelButton تغییر میدیم. سپس در کانستراکتور فرم برنامه کد زیر رو وارد میکنیم:
if (loginFrm.DialogResult == DialogResult.Cancel)
{
Application.ExitThread();
}
با اینکارا بایستی مشکل حل بشه ولی نمیدونم چرا اینطور نشد
اصلا اگه ممکنه یه کم درباره دو خاصت فرم که در بالا گفتم توضیح بدید.
لطفا ایرادش رو تصحیح کنید کدش هم همون قبلیه س به اضافه کارهایی که الان گفتم لینکشم به اسم WindowsApplication_Login2 گذاشتم. در ضمن این نوع فرم لوگین به بانک اطلاعاتی وصله که فقط این مشکل رو که گفتم داره. بعد از رفع مشکل حتما تمام سورسشو میذارم که امکان اضافه و حذف و به روز رسانی کاربر های مختلف رو میده.
سپاسگذار همگی هستم

اَرژنگ
پنج شنبه 29 آذر 1386, 15:41 عصر
ممنون از همه جوابها. دوستان لطف کنند یک نمونه از فرم Login که کاربر بتونه یوزر و پسورد رو تغییر بده بذارید تو فوروم. همچنین بشه کاربر جدید با کلمه عبور دلخواه تا هر چند تا که بخوایم اضافه کنیم(توسط کاربران)
یک نمونه برنامه میذارم لطفا نگاش کنید. میخوام در فرم لوگین اگه کاربر انصراف رو زد یا ضربدر بالای فرم رو کلیک کرد یا کلید Esc رو زد فرم برنامه نمایش داده نشه.

هیچ کدام از این مواردی که فرمودید ربطی به طراحی فرم Login ندارند. Login فرم فقط یک کار انجام میده، اسم و پسورد را از کاربر دریافت میکند. بعدش هر شیئ که احتیاج به دانستن این دو خاصیت داشته باشه از فرم Login درخواستشان میکند.

mohsenns5
پنج شنبه 29 آذر 1386, 18:16 عصر
دوستان اگه لطف کنند یه نگاهی به WindowsApplication_Login2.zip (http://barnamenevis.org/forum/attachment.php?attachmentid=13031&d=1198147775) بکنند میخوام کاری کنم که اگه انصراف یا ضربدر بالا کلیک بشه کاربر نتونه وارد فرم اصلی برنامه بشه. ممنون

اَرژنگ
جمعه 30 آذر 1386, 01:10 صبح
دوستان اگه لطف کنند یه نگاهی به WindowsApplication_Login2.zip (http://barnamenevis.org/forum/attachment.php?attachmentid=13031&d=1198147775) بکنند میخوام کاری کنم که اگه انصراف یا ضربدر بالا کلیک بشه کاربر نتونه وارد فرم اصلی برنامه بشه. ممنون
مثالی که فرستادم همین کار را انجام میده.

mohsenns5
جمعه 30 آذر 1386, 19:07 عصر
تشکر مشکل حل شد . فقط اگه میشه خاصیت AcceptButton و CancelButton یک فرم رو توضیح بدین چون من هر چی روش کار میکنم فقط خاصیت فرم رو CancelButton قرار میگیره

hassan razavi
شنبه 01 دی 1386, 08:36 صبح
شما می تونید در فرمتون 2 دکمه (Button) را برای فرم بعنوان AcceptButton (هنگام فشردن کلید Enter) و CalcelButton (هنگام فشردن کلید Esc) مشخص و استفاده کنید. یعنی با فشردن کلید Esc کد مربوط به Button مشخص شده بعنوان CancelButton و هنگام فشرده شدن Enter کد مربوط به Button مشخص شده بعنوان AcceptButton اجرا میشود.

اَرژنگ
شنبه 01 دی 1386, 11:32 صبح
تشکر مشکل حل شد . فقط اگه میشه خاصیت AcceptButton و CancelButton یک فرم رو توضیح بدین چون من هر چی روش کار میکنم فقط خاصیت فرم رو CancelButton قرار میگیره

بیزحمت سورسی را که روش کار میکنید بفرستید.

mohsenns5
شنبه 01 دی 1386, 12:09 عصر
WindowsApplication_Login2.zip (http://barnamenevis.org/forum/attachment.php?attachmentid=13031&d=1198147775) این سورسی بود که روش کار میکردم (خاصیت AcceptButton و CancelButton و ....)

hassan razavi
شنبه 01 دی 1386, 12:25 عصر
پروژتون رو دیدم.
اصلا نیازی به رویداد Keypress فرم نیست ، کافی کد مورد نظر را در رویداد Click دکمه های مورد نظر بنویسید. وقتی AcceptButton و CancelButton فرم رو Set کنید ، با فشرده شدن Enter و Esc این دو رویداد فراخوانی میشوند.

اَرژنگ
شنبه 01 دی 1386, 15:09 عصر
تشکر مشکل حل شد . فقط اگه میشه خاصیت AcceptButton و CancelButton یک فرم رو توضیح بدین چون من هر چی روش کار میکنم فقط خاصیت فرم رو CancelButton قرار میگیره
دگمه وورود را انتخواب کنید، در پروپرتی ادیتور دایالوگ رزالت را برابر با اوکی و یا هر چیزه دیگری که میخواهید قرار بدید.

من اینکار را در مثالی که برآیتان فرستادم انجام دادم، اصلا بهش نگاه انداختید؟
در ضمن نوع فرمتان را عوض کنید که اصلا دگمه ضربدر را نشان نده. در مثالی که فرستاده بودم اینکار را کردم.

mohsenns5
شنبه 01 دی 1386, 23:25 عصر
من اینکار را در مثالی که برآیتان فرستادم انجام دادم، اصلا بهش نگاه انداختید؟
.

بله حتما مگه میشه مثالهای شما رو نگا نکرد؟:تشویق:
مشکل حل شد. تشکر از همگی

alirzn
یک شنبه 30 دی 1386, 13:46 عصر
آقا اگر بخواهیم وقتی که password اشتباه هست پیغام بده که پسورد اشتباه است و فرم بسته نشه چکار باید کرد و کجا باید این code رو نوشت؟ ممنون

با سلام و درود بر silentrise (http://barnamenevis.org/forum/member.php?u=47550)،
به نظر من کسی که درخواست کند که از کدش ایراد بگیرند در راه موفقیت گام برمیدارد.
با پیروی از شما، این کد حرفه‌ای ترین کدی است که برایه این کار به نظرم رسید، از دوستان درخواست میکنم که به این مثال ایراد بگیرند و اینکه چه طوری میشه بیشتر حرفه‌ای باشد را پیشنهاد کنند.

Login=login
Password = password

Himalaya
یک شنبه 30 دی 1386, 15:32 عصر
جناب mohsenns5 من هم کد WindowsApplication_Login3 و هم کد WindowsApplication_Login2 رو گرفتم ...ولی تو هر دوتاش وقتی ضربدر و یا cancel زده میشه
فرم دوم ظاهر میشه...مشکلتون رو جور دیگه ای هم میتونید حل کنید...من که تو WindowsApplication_Login2 ای کارو کردم درست شد...تو قسمت program.cs
تو خط آخر به جای
Application.Run(new frmMain());
اگه بنویسید
Application.Run(new frmLogin());
فکر کنم،مشکل حل بشه

اَرژنگ
دوشنبه 01 بهمن 1386, 07:57 صبح
آقا اگر بخواهیم وقتی که password اشتباه هست پیغام بده که پسورد اشتباه است و فرم بسته نشه چکار باید کرد و کجا باید این code رو نوشت؟ ممنون

Example is attached

Happy_davood
سه شنبه 02 بهمن 1386, 08:00 صبح
راه حل درستش اینه . یه متغیر Static تعریف می کنید که نتیجه لاگین از طریق فرم لاگین داخلش قرار بگیره :


public static bool LoginResult = false;


Application.Run(new LoginForm());

if(LoginResult == true)
Application.Run(new MainForm());



داخل فرم لاگین اگه ضربدر زده بشه باید LoginResult برابر با False بشه . اگر لاگین درست بود True. مدیریت لاگین و تمام پیغام ها هم داخل همون فرم لاگین انجام میشه .

sinpin
سه شنبه 02 بهمن 1386, 09:38 صبح
راه حل درستش اینه . یه متغیر Static تعریف می کنید که نتیجه لاگین از طریق فرم لاگین داخلش قرار بگیره :


public static bool LoginResult = false;


Application.Run(new LoginForm());

if(LoginResult == true)
Application.Run(new MainForm());

داخل فرم لاگین اگه ضربدر زده بشه باید LoginResult برابر با False بشه . اگر لاگین درست بود True. مدیریت لاگین و تمام پیغام ها هم داخل همون فرم لاگین انجام میشه .
اگه منظورتون اینکه که از درون فرم LoginForm بیاین و این متغیر عمومی و استاتیک رو مقدار دهی کنید راه حل شما صحیح نیست. پیشنهاد میکنم راه حل آقای ارژنگ رو نگاه کنید.

Happy_davood
سه شنبه 02 بهمن 1386, 12:28 عصر
لطفاً بگید چه ایرادی داره .

اَرژنگ
چهارشنبه 03 بهمن 1386, 00:18 صبح
لطفاً بگید چه ایرادی داره .

با سلام، این موضوع اینجا بارها تکرار شده و اگر در مورد متغییر استاتیک و پاس دادن متغیرها از یک فرم به فرم دیگر جستجو کنید اشکالاتش را پیدا میکنید. به طور خلاصه این روش یک نوع طریق استفاده از متغییر سراسری است و در برنامه نویسی شئیگرا جایی ندارد، استادان میتوانند نکته به نکته تمام دلایل اشتباه بودن این روش را بنویسند.

اَرژنگ
چهارشنبه 24 بهمن 1386, 18:21 عصر
بهترین روشی که تا حالا دیدم:
http://barnamenevis.org/forum/showthread.php?t=94791
را توصیه میکنم.

violet87
شنبه 09 مرداد 1389, 08:35 صبح
سلام دوستان من مشکلی که واسه طاحی فرم لاگین دارم اینه که یه دیتا بیس دارم با تعدادی یوزر
دنبال یه کد خوب واسه و بهینه می گردم
ممنون می شم کمکم کنید
هودم یه کد نوشتم که اطلاعات رو در یک جدول تو رم ذخیره می کنه ولی برای پر کردنش ارور می ده!!!!!!

اَرژنگ
شنبه 09 مرداد 1389, 11:14 صبح
سلام دوستان من مشکلی که واسه طاحی فرم لاگین دارم اینه که یه دیتا بیس دارم با تعدادی یوزر
دنبال یه کد خوب واسه و بهینه می گردم
ممنون می شم کمکم کنید
هودم یه کد نوشتم که اطلاعات رو در یک جدول تو رم ذخیره می کنه ولی برای پر کردنش ارور می ده!!!!!!
۱.دوست عزیز شما کلاهت را قاضی کن بگو از مساجی که که نوشتید چطوری میشه مشکل شما درک و کمک کرد.
۲.در همین توپیک به اندازه کافی مثال پیدا میکنید که کارت را راه بندازه، در مورد بهینه بودن از چه لحاض بهینه باشد؟ یک مثال کوچک که کار کنه و بگید که چیش بهینه نیست بفرستید بهینه‌اش میکنند.

violet87
شنبه 09 مرداد 1389, 13:31 عصر
۱.دوست عزیز شما کلاهت را قاضی کن بگو از مساجی که که نوشتید چطوری میشه مشکل شما درک و کمک کرد.
۲.در همین توپیک به اندازه کافی مثال پیدا میکنید که کارت را راه بندازه، در مورد بهینه بودن از چه لحاض بهینه باشد؟ یک مثال کوچک که کار کنه و بگید که چیش بهینه نیست بفرستید بهینه‌اش میکنند.
دوست عزیز من با معماری سه لایه دارم پروژه ام رو می نویسم کدها ذو می ذارم
نه مثال ها واسه من مناسب نیست
دیتا بیس من شاید 2000 تا یوزر داشته باشه واسه همین تا بیاد تک تک سطرها رو کنترل کنه خیلی طول می کشه واسه همین می خوام بهینه (یعنی سرعت کم)باشه

private void Form1_Load(object sender, EventArgs e)
{
da.connect();

}

private void button1_Click(object sender, EventArgs e)
{

security sec = new security();
DataTable dt = new DataTable();
dt = sec.select();
if (dt.Rows.Count != 0)
{
Form2 f = new Form2();
f.Show();
}
else
{
MessageBox.Show("نام کاربری و رمز ورود خود را اشتباه وارد کرده اید","پیغام خطا");
}
اینم متد select

public DataTable select()
{
string s = "select username, password from security where username=@textbox1.text AND password=@textbox2.text";

DataTable dt = new DataTable();
da.connect();
dt = da.select(s);
da.disconnect();
return dt;
}
اینم لایه BLL

public class dataaccesslayer
{
public string username;
public string password;
public string servername;
public string dbname;

private SqlConnection con;
private SqlCommand cmd;
private SqlDataAdapter da;

public dataaccesslayer()
{
con = new SqlConnection();
cmd = new SqlCommand();
da = new SqlDataAdapter();
cmd.Connection = con;
da.SelectCommand = cmd;
}
public void connect()
{
string cs;
cs = "Data Source=.;Initial Catalog=farakhan;Integrated Security=True";
con.ConnectionString = cs;
con.Open();
}
public void connect(string cs)
{
con.ConnectionString = cs;
con.Open();
}
public void disconnect()
{
con.Close();
}
public void docommand(string s)
{
cmd.CommandText = s;
cmd.ExecuteNonQuery();
}
public DataTable select(string s)
{
DataTable dt = new DataTable();
cmd.CommandText = s;
da.Fill(dt);
return dt;
}

اَرژنگ
شنبه 09 مرداد 1389, 18:18 عصر
دوست عزیز من با معماری سه لایه دارم پروژه ام رو می نویسم کدها ذو می ذارم
نه مثال ها واسه من مناسب نیست
دیتا بیس من شاید 2000 تا یوزر داشته باشه واسه همین تا بیاد تک تک سطرها رو کنترل کنه خیلی طول می کشه واسه همین می خوام بهینه (یعنی سرعت کم)باشه

private void Form1_Load(object sender, EventArgs e)
{
da.connect();

}

private void button1_Click(object sender, EventArgs e)
{

security sec = new security();
DataTable dt = new DataTable();
dt = sec.select();
if (dt.Rows.Count != 0)
{
Form2 f = new Form2();
f.Show();
}
else
{
MessageBox.Show("نام کاربری و رمز ورود خود را اشتباه وارد کرده اید","پیغام خطا");
}
اینم متد select

public DataTable select()
{
string s = "select username, password from security where username=@textbox1.text AND password=@textbox2.text";

DataTable dt = new DataTable();
da.connect();
dt = da.select(s);
da.disconnect();
return dt;
}
اینم لایه BLL

public class dataaccesslayer
{
public string username;
public string password;
public string servername;
public string dbname;

private SqlConnection con;
private SqlCommand cmd;
private SqlDataAdapter da;

public dataaccesslayer()
{
con = new SqlConnection();
cmd = new SqlCommand();
da = new SqlDataAdapter();
cmd.Connection = con;
da.SelectCommand = cmd;
}
public void connect()
{
string cs;
cs = "Data Source=.;Initial Catalog=farakhan;Integrated Security=True";
con.ConnectionString = cs;
con.Open();
}
public void connect(string cs)
{
con.ConnectionString = cs;
con.Open();
}
public void disconnect()
{
con.Close();
}
public void docommand(string s)
{
cmd.CommandText = s;
cmd.ExecuteNonQuery();
}
public DataTable select(string s)
{
DataTable dt = new DataTable();
cmd.CommandText = s;
da.Fill(dt);
return dt;
}
دوست عزیز،
نمیدانم از کجا اینکه این روشی که استفاده میکنید معماری ۳ لایه است را گرفتید ولی اصلاً درست نیست. مشکل اصلی این است که
۱.در لایه نمایش فقط به لایه BLL اسم و پسورد داده بشه و ازش اینکه درست هست را یا نه را پس بگیرد نه اینکه کل یک داتا تیبل برگردانه
۲.در لایه BLL فقط به لایه DAL اسم و پسورد داده بشه و اینکه اصلاً رکوردی برگردانده میشه را ازش درست بودن اسم و پسورد را استنباط کنه و یک بولیین برگردانه
۳. در لایه داتا بیس فقط پسورد و اسم کاربر گرفته میشه و فقط یک رکوردهای که بهش بخورند برگردانده میشه.
مثالها درست بودند و اگر از روش درست ۳ لایه نویسی استفاده میشد به جواب میرسید.
۱ مثال ساده درست استفاده از ۳ لایه نویسی را در همین انجمن گزاشتم بهش یک نگاه بندازید بیشتر مشکلاتتان را حل میکند اگر هم کمک بیشتر لازم بود بفرمائید در خدمت هستیم.
یک سوال مثال معماری ۳ لایه را از کجا گرفتید؟ ، اشکالات مفهومی زیادی دارد ولی در این حالت بخصوص باید کار کند..

ولی از لحاض نتیجه اگرچه کدی که فرستادید باب مزاج من نیست ولی بازهم از لحاض کاری متد select
که استفاده میکنید فقط تعداد معدودی رکورد برمیگردانه.
میتونید همین روشتان را ادامه بدید و بازهم از لحاض بهینه بودن با همان مثالهایه موجود در این توپیک با تعداد رکوردهایی که باید چک بشه به مشکلی برنخورید.
اگرچه با سبک روشتان موافق نیستم ولی در این مورد بخصوص بهینه است. چرا فکر میکنید به اشکال برمیخوره؟

violet87
یک شنبه 10 مرداد 1389, 07:23 صبح
دوست عزیز،
نمیدانم از کجا اینکه این روشی که استفاده میکنید معماری ۳ لایه است را گرفتید ولی اصلاً درست نیست. مشکل اصلی این است که
۱.در لایه نمایش فقط به لایه BLL اسم و پسورد داده بشه و ازش اینکه درست هست را یا نه را پس بگیرد نه اینکه کل یک داتا تیبل برگردانه
۲.در لایه BLL فقط به لایه DAL اسم و پسورد داده بشه و اینکه اصلاً رکوردی برگردانده میشه را ازش درست بودن اسم و پسورد را استنباط کنه و یک بولیین برگردانه
۳. در لایه داتا بیس فقط پسورد و اسم کاربر گرفته میشه و فقط یک رکوردهای که بهش بخورند برگردانده میشه.
مثالها درست بودند و اگر از روش درست ۳ لایه نویسی استفاده میشد به جواب میرسید.
۱ مثال ساده درست استفاده از ۳ لایه نویسی را در همین انجمن گزاشتم بهش یک نگاه بندازید بیشتر مشکلاتتان را حل میکند اگر هم کمک بیشتر لازم بود بفرمائید در خدمت هستیم.
یک سوال مثال معماری ۳ لایه را از کجا گرفتید؟ ، اشکالات مفهومی زیادی دارد ولی در این حالت بخصوص باید کار کند..

ولی از لحاض نتیجه اگرچه کدی که فرستادید باب مزاج من نیست ولی بازهم از لحاض کاری متد select
که استفاده میکنید فقط تعداد معدودی رکورد برمیگردانه.
میتونید همین روشتان را ادامه بدید و بازهم از لحاض بهینه بودن با همان مثالهایه موجود در این توپیک با تعداد رکوردهایی که باید چک بشه به مشکلی برنخورید.
اگرچه با سبک روشتان موافق نیستم ولی در این مورد بخصوص بهینه است. چرا فکر میکنید به اشکال برمیخوره؟
مرسی از راهنماییت دوست عزیز ولی من وقتی این فرم را اجرا می کنم در قسمت زیریه نوع استثنا میده که نمی دونم چیکارش کنم

da.Fill(dt);
اینم استثنا
Must declare the scalar variable "@textbox1".

اَرژنگ
یک شنبه 10 مرداد 1389, 14:19 عصر
مرسی از راهنماییت دوست عزیز ولی من وقتی این فرم را اجرا می کنم در قسمت زیریه نوع استثنا میده که نمی دونم چیکارش کنم

da.Fill(dt);
اینم استثنا
Must declare the scalar variable "@textbox1".


اگرچه با این گونه کد بافی خصومت دارم ولی برایه اینکه کارتان فعلاً راه بیافته (و بعداً به مشکلات بر بخورید)، به این شکل کج و ماوجش کنید کار میکند:


string s = "select username, password from security where username="+textbox1.text+" AND password="+ textbox2.text;







ولی این نوع کد نویسی از بنا خراب است و روشهایه درست را پیگیری کنید.
موفق باشید

elec645
شنبه 13 شهریور 1389, 18:27 عصر
سلام:لبخندساده:
دوستان خسته نباشید :تشویق:
من می خوام این برنامه رو گسترش بدم و یه جوری بشه که کاربر با سطح دسترسی مختلف داشته باشم و همچنین کاربر بتونه یوزر و پسورد رو عوض کنه
لطفا کمک و راهنمایی کنید.:متفکر:

elec645
شنبه 13 شهریور 1389, 21:17 عصر
من برای برنامه یوزر و پسورد از مثال کتاب آقای سید محمد هاشمیان ( با عنوان آموزش ویژوال C#‎2005 )استفاده کردم. خوبی این مثال اینه که یک کتابخانه فرم با نام login درست می کنی و تو هر برنامه که خواستی از استفاده می کنی. وقتی من از این برنامه استفاده کردم چندین مشکل برخوردم
اول اینکه تو زمان ساختن کتابخانه فرم و در تابع کنترل کننده بستن پنجره به متغیر e گیر می ده و میگه که متغیر e دارای خصوصیت cancel نیست (تابع نوشته شده در صفحه 515)
دوما در زمان استفاده از این کتابخانه فرم در پروژه (در صفحه 523) اصلا پنجره مربوط به login ظاهر نمیشه .
FormsLibrary.rar (http://www.4shared.com/file/Uj93xEwG/FormsLibrary.html)
اگه من رو کمک کنید ممنون میشم:ناراحت:

اَرژنگ
یک شنبه 14 شهریور 1389, 03:31 صبح
من برای برنامه یوزر و پسورد از مثال کتاب آقای سید محمد هاشمیان ( با عنوان آموزش ویژوال C#‎‎2005 )استفاده کردم. خوبی این مثال اینه که یک کتابخانه فرم با نام login درست می کنی و تو هر برنامه که خواستی از استفاده می کنی. وقتی من از این برنامه استفاده کردم چندین مشکل برخوردم

اول اینکه تو زمان ساختن کتابخانه فرم و در تابع کنترل کننده بستن پنجره به متغیر e گیر می ده و میگه که متغیر e دارای خصوصیت cancel نیست (تابع نوشته شده در صفحه 515)
دوما در زمان استفاده از این کتابخانه فرم در پروژه (در صفحه 523) اصلا پنجره مربوط به login ظاهر نمیشه .
FormsLibrary.rar (http://www.4shared.com/file/Uj93xEwG/FormsLibrary.html)
اگه من رو کمک کنید ممنون میشم:ناراحت:
واقعاً که جایه تاسف دارد که مثالهایی که برایه یادگیری ساخته میشند به این حد گیج و گمراه کننده هستند.
به مثالی که فرستادید نگاه انداختم، به درست کردن نمیارزه و مثال ساده‌تر و بهتر را در همین توپیک پیدا میکنید:
۱ مثال ساده که برایه شروع استفاده بشه را من در همین توپیک فرساتدم ازش استفاده کنید.
یک مثال بسیار بهتر که واقعاً به یادگیری کمک کند مثال جناب سین پین است که در همین توپیک میشه پیداش کرد.
این مثالی که فرستادید را بیجهت زمانتان را بر روش هدر ندید.

mmd2009
یک شنبه 14 شهریور 1389, 09:17 صبح
با سلام.

ایا اصولی هست که مثال جناب سین پین رو با Setting تغییر پسوورد داد ؟

منظورم اینه کلا امکان تغییر پسوورد رو با Setting براش فراهم بکنیم ؟

با تشکر