PDA

View Full Version : طریقه Lock کردن یک فرم



marandi
چهارشنبه 03 دی 1382, 01:58 صبح
سلام
فرض می کنیم برنامه ای را نوشتیم که تمامی پیامها به صورت کشویی(Dockable) نمایش داده میشه؟
این پیام ها می توانند به صورت فقط متن اطلاعاتی از قبیل پیام خطا در ورود دیتا و ... یا دریافت مقادیری همچون قبول می کنم - منصرف شدم - دوباره سعی کن و .... باشد.
همانطور که اساتید محترم در جریانند در چنین حالتی نیاز به حالت ShowDialog یا همان VBModal سابق داریم. اما حال که این بخش به صورت یک Control به فرم اصلی اضافه شده چگونه می توان تمامی فرم به جز ناحیه فعالیت این Control را تا زمان اعمال تصمیم کاربر Lock نمود؟؟؟؟

Farhad.B.S
چهارشنبه 03 دی 1382, 19:47 عصر
بهتره زمانی که قراره اون پیام نشون داده بشه ، طی یه حلقه تمامی کنترل ها به جز کنترلی که حاوی پیام هست ، disable بشه ،
تو کد زیر ، کنترلی که قراره پیام رو نشون بده یه لیبل در نظر گرفته شده :



Dim a As Control
Label1.Text = "Your Message !"

For Each a In Me.Controls
If a.Name <> "Label1" Then a.Enabled = False
Next

marandi
پنج شنبه 04 دی 1382, 01:27 صبح
دوست عزیز Farhad.B.S
سلام
روشی که نوشتید، روش خوبی اما جواب نیست. زیرا در این روش
1- زیبایی واسط کاربر تا حدی پایین می آید.
2- باعث ایجاد کنترل سخت برنامه می شود چون وابسته به کنترل های خارجی است یعنی هرگاه که ما به پیامی که نیاز به تایید دارد احتیاج داشتیم باید این کد اجرا و در انتها نیز همین کار باید به صورت معکوس انجام شود. حال فکر کنید که ما در صفحه چند کنترل Disable نیز از قبل داشته باشیم که با این روش این کنترل ها را از حالت تعریف شده خارج می کنیم.

خودم رو این قضیه کمی فکر کردم به این نتیجه رسیدم که بهترین روش کنترل حالت Focus این کنترل (Custom Control) است. :!:
اما در dot Net چگونه؟ :?: :?: :?:

پنج شنبه 04 دی 1382, 23:03 عصر
من شاید منظورتون رو درست متوجه نشده باشم ولی چرا از دیالوگ های پیغام ویندوز استفاده نمی کنین ؟

marandi
جمعه 05 دی 1382, 00:21 صبح
سلام
بحث سر امکان سنجی بهترین، زیباترین و انعطاف پذیر ترین شیوه می باشد. به همین دلیل در حال بررسی بهترین روش برای ارتباط با کاربران از طریق برنامه می باشیم. لطفا اگر کسی دیگه نظری دارد لطفا در این بخش نظر بده (بهترین UI و انعطاف پذیری بالا، قابلیت Component شدن برای Reuse)

S.Azish
پنج شنبه 18 دی 1382, 20:29 عصر
به نظر من بهتره زمانی که فقط میخواهید چیزی رو اطلاع بدید و نیازی به دخالت کاربر نیست از یک کنترل استفاده کنید مثل همون مثالی که زدید ولی اگر جایی نیاز به دخالت کاربر هست از یک فرم جداگونه استفاده کنید که روش استانداردی هست و در عین حال تمام اینها میتونه برای reuse داخل یک کنترل باشه.