View Full Version : سوال: مشکل در ساخت پنجره وارد کردن رمز ورورد
karimi72
سه شنبه 08 بهمن 1392, 11:42 صبح
دوستان عزیز من دارم یک نرم افزار می نویسیم و این نرم افزر یک بخش دارد برای بررسی رمز ورود دارد به این صورت که با اجرای نرم افزار باید چک کند آیا قبلا رمز عبوریی تعریف شده است یا نه اگر تعریف شده است باید رمز ورودی که قبلا تعریف شده است با رمز ورودی که تازه توسط کاربر وارد شده است مطابقت دهد اگر یکی بودن نرم افزار وارد بخش اصلی شود در غیر این صورت پیغام مناسبی دهد و دوباره منتظر ورود رمز عبور شود. برای این کار من دوتا WPF ساخته ام یکی برای پنجره دریافت رمز عبور (WinPass)و دیگری برای داشبود (MainWindow)یا همون صفحه اصلی ودر سازنده Main window یک شی از نوع WinPass ساخته ام مشکل من در اینجاست: وقتی که پنجره WinPass نمایش داده می شود بلافاصله بعد ازآن پنجره اصلی نمایش داده می شود ولی من می خواهم سیستم صبر کند تا Win pass کارش را انجام دهد و بعد در صورتی که WinPass اجازه داد صفحه اصلی (mainWindow)اجرا شود. برای حل این مشکل باید چه کنم؟
امید خطیبی
سه شنبه 08 بهمن 1392, 12:04 عصر
با سلام خدمت دوست عزیز
دوست عزیز من هم دارم همین کار شما را انجام می دهم البته من دارم اطلاعاتم را از DB می گیرم و چک می کنم حالا چطوری شما می توانی این کار را انجام دهی با استفاده از دو تا IF می توانی این کار را انجام بدهی ولی کاری که من دارم انجام می دهم با استفاده از یک IF هست که اول با استفاده از دستور LINQ چک می کنم این یوزر و پس وجود داره یا نه اگر وجود داشت پنجره Main من رو به نمایش در بیاره
مشکل من فقط در این قسمت هست که اگر خواسته باشم Loaded ویندوز را به صورت دستی بنویسم و ارگمان به آن پاس بدهم نمی دونم چطوری باید این کار را انجام دهم که در پست الگوی MVVM شرح داده ام
Boy_nn
سه شنبه 08 بهمن 1392, 12:13 عصر
سلام دوست عزیز
فکر می کنم شما قسمت نمایش MainWindow رو توی event های لود برنامه گذاشتی برای همینم بدون اینکه پسورد وارد کنی برنامه باز میشه
شما بابد نمایش MainWindow توی event پنجره WinPass بعد از تایید شدن پسورد بزاری
karimi72
سه شنبه 08 بهمن 1392, 17:49 عصر
سلام دوست عزیز
فکر می کنم شما قسمت نمایش MainWindow رو توی event های لود برنامه گذاشتی برای همینم بدون اینکه پسورد وارد کنی برنامه باز میشه
شما بابد نمایش MainWindow توی event پنجره WinPass بعد از تایید شدن پسورد بزاری
بله من همین کار را کرده ام راه حلی برای این روش دارید ؟
mgh64120
سه شنبه 08 بهمن 1392, 23:20 عصر
سلام دوست عزيز Karimi72
شما اگر لطف كنيد قطعه كدي كه صحت رمز عبور رو چك ميكنه برامون بزاريد، زودتر كارتون راه ميفته!!! :لبخند:
Boy_nn
چهارشنبه 09 بهمن 1392, 09:11 صبح
بله من همین کار را کرده ام راه حلی برای این روش دارید ؟
دوست عزیز گفتم که Show پنجره MainWindow رو به دکمه ای که کاربر بعد از وارد کردن رمز عبور جهت تایید رمز میزنه بزار
karimi72
چهارشنبه 09 بهمن 1392, 15:46 عصر
دوست عزیز گفتم که Show پنجره MainWindow رو به دکمه ای که کاربر بعد از وارد کردن رمز عبور جهت تایید رمز میزنه بزار
دقیقا همین کا را کرده ام و مشکل حل شده است ولی راه حلی دارید که دیگر نیاز نباش این کار را کرد؟ به نظر مسخره می اید ولی می خواهم بدانم ایا راهی هست برای حل این مشکل.
rg_BlackRose
دوشنبه 28 بهمن 1392, 13:38 عصر
سلام
شما میتوانید برای اینکه هم اطلاعات کاربر وارد شده رو داشته باشید و هم از وارد یا خارج شدن کاربر با خبر بشید
یک کلاس استاتیک ایجاد بکنید و اطلاعات کاربر وارد شده رو در کلاس قرار بدید. و یک پروپرتی از نوع bool داشته باشید، وقتی کاربر وارد شد این پروپرتی مقدار true رو میگیره، وقتی هم خارج شد مقدار false رو میگیره.
حالا این پروپرتی رو میتونید به خاصیت IsEnabled یک کنترل مثل منوها یا هر کنترلی که به عنوان کنترت روت محسوب میشه (روی MainWindow ) بایند بکنید.
یعنی هر موقع کاربر وارد شد به صورت اتوماتیک کنترل مورد نظر (کنترل روت "ContentControl") فعال میشه و وقتی هم کاربر خارج شد همین کنترل غیر فعال میشه و کاربر قادر به استفاده از امکانات و قسمتهای مختلف برنامه نیست.
یک نمونه از این الگوریتم رو طراحی کردم (برنامه تک فرم هست و از usercontrol ها استفاده شده)
شما میتونید به سلیقه خودتون از Window ها هم به جای usercontrol ها استفاده بکنید.
150166
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.