PDA

View Full Version : مبتدی: هنگامی که فرم نمایش داده می شود یک پیغام مناسب نشان داده شود



mohsen6969
جمعه 04 مرداد 1392, 01:59 صبح
می خواهم هنگامی که فرم برای کاربر نمایش داده شده یعنی به صورت کامل form_load اجرا شد و تمام شد یک پیغام برای کاربر نمایش دهم

لطفا کمکم کنین

drsina
جمعه 04 مرداد 1392, 02:11 صبح
خب چرا تو Form Load یه Mbox نمیزاری ؟!؟
یعنی به این صورت :
MessageBox.Show("چیزی که می خوای نمایش بدی ");

Mohammadm
جمعه 04 مرداد 1392, 02:32 صبح
سوال جالبی بود
یک راهش به این صورته
توی رویداد Active فرمت باید پیغامتو بزاری اما بازم مشکل داری چون در این صورت این پیغام پی در پی اجرا میشه
برای حل این مشکل هم باید رویداد Active رو قبل از اینکه پیغام رو نمایش بدی غیر فعل کنی
بنابراین کدی که باید توی رویداد Active فرمت بنویسی به این صورته
this.Activated -= new System.EventHandler(this.Form1_Activated);
MessageBox.Show("hi");
حواست به علامت - قبل از مساوی(=) باشه
این باعث میشه که تابع مورد نظر برای رویداد مورد نظر غیر فعال بشه
در قطعه کد بالا فرض بر این بود که اسم فرمتون Form1 باشه و نام تابع برای رویداد مورد نظر Form1_Activated باشه

اگر نمیدونی چطور اینکار رو انجام دادم بهتره ابتدا رویداد Active رو فعال کنید.
برو توی قسمت فایل Designer.cs فرمت کدی جهت فعال کردن رویداد Active برای فرمت به صورت اتوماتیک در این قسمت درج میشه به صورت زیر
this.Activated += new System.EventHandler(this.Form1_Activated);
برای غیر فعال کردنش هم کافیه که هرجایی نیاز داشتی علامت + رو به علامت - تبدیل کنی
برای اینکه این مفاهیم رو بهتر یاد بگیری بهتره مفاهیم Event و delegate رو بیشتر مطالعه کنی

mohsen6969
جمعه 04 مرداد 1392, 02:32 صبح
خب فرم زمانی به کاربر نمایش داده می شه که رخداد form_load کامل اجرا شده باشه، اگه این کار کنم قبل اینکه فرم نمایش داده بشه messagebox نمایش داده میشه

mohsen6969
جمعه 04 مرداد 1392, 02:41 صبح
ممنون MohammadM
سوال بعدیم اینکه یک حلقه For دارم می خوام تا زمانیکه کاربر چیزی تایپ نکرده قفل شه یعنی اینکه منتظر بمونه تا کاربر یه متنی تایپ کنه اگه مقدارش valid بود مقدار بعدی نمایش داده بشه

با تشکر

Mohammadm
جمعه 04 مرداد 1392, 02:45 صبح
ممنون MohammadM
سوال بعدیم اینکه یک حلقه For دارم می خوام تا زمانیکه کاربر چیزی تایپ نکرده قفل شه یعنی اینکه منتظر بمونه تا کاربر یه متنی تایپ کنه اگه مقدارش valid بود مقدار بعدی نمایش داده بشه

با تشکر
لطفا واضحتر
حلقه for کجا نوشته میشه؟
کدوم رویداد نوشته میشه؟
کاربر متن رو کجا تایپ میکنه؟
شرط valid بودن؟

mohsen6969
جمعه 04 مرداد 1392, 02:53 صبح
کد کامل نمی خوام بیشتر یه راهنمایی یا ایده می خوام
ببینین توی همون رویداد Actived یه select به بانک اطلاعاتی زده میشه و یه مقداری خونده میشه بعد توسط یه حلقه For یکی یکی میخوام نمایش بدم به اعضای هر مقدار کاربر باید توی یه textbox یک مقدار و وارد کنه و اگه مقدار وارد شده (فرضا برابر با اسم شخص که قبلا در بانک اطلاعاتی دخیره شده برابر بود مقدار بعدی نمایش داده بشه و به همین صورت تا آخرین مقدار)

Mohammadm
جمعه 04 مرداد 1392, 11:16 صبح
به صورت کامل متوجه منظورت نشدم ولی برای نمایش دادن داده ها یی که از بانک میخونی به صورت سطر به سطر بهتره از روشهای دیگه ای بجای حلقه for استفاده کنی مانند اسفاده از شیئ CurrencyManager
و یا با استفاده از bindingSource و bindingNavigator یه سرچ بزن منابعش برای یادگیری زیاده
در این صورت میتونی از شرط هم برای نمایش رکورد بعدی در صورت نیاز استفاده کنی