PDA

View Full Version : نمایش پنجره loading هنگامی که در حال شروع گذارشگیری هستیم



aspppsa
سه شنبه 16 آذر 1389, 11:46 صبح
سلام
من میخاستم وقتی رویه دکمه ای بنام گذارشگیری کلیک میکنم قبل از اینکه این عمل انجام شود پنجره ویا هر حالت نمایشی دیگر به نمایش در بییاید و مثلا داخلش چنین چیزی نوشته شده باشد loading...وبعدش گذارشگیری را بما نشان دهد.مرسی

jalalx
سه شنبه 16 آذر 1389, 12:05 عصر
شما دو راه دارید:
راه سخت: باید از برنامه نویسی multithreading استفاده کنی، به این صورت که بعد از فشردن کلید، Loading... ظاهر بشه و همزمان یک thread جدید ایجاد بشه که عمل گزارش گیری رو انجام بده، بعد نتیجه رو به فرم شما برگردونه.
راه آسان: البته کنترل هایی مثل BackgroundWorker هستند که می تونن به شما در انجام کارهای multithread کمک کنن. برای آشنایی با این کنترل اینجا (http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx)رو ببینید.

aspppsa
سه شنبه 16 آذر 1389, 14:06 عصر
ممنونم از راهنماییتان.شما الان با یک فرد کاملا آماتور روبرو هستین که قراره در آینده حرفه ای بشه!!!!!
میخاستم روش دوم را کاملا واسم تشریح کنین و بگین کجا برم و چکار کنم که این عمل انجام بشه.خواهش میکنم اگه ممکنه کمکم کنید با تشکر

jalalx
سه شنبه 16 آذر 1389, 14:43 عصر
اگه بتونید لینکی که دادم رو برسی کنید می فهمید چطوری باید برنامه رو بنویسید. در غیر این صورت، این روش برای شما کمی زوده و قبلش باید چیزهای بیشتری درباره ی C# یاد بگیرید. به هر حال برای حرفه ای شدن باید از یه جا شروع کرد، در این مورد خود MSDN بهترین مرجع ئه!
توی لینکی که دادم، کلیات به این صورت هستش:


تابع
backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e) برای نمایش پیشرفت تغییرات است.
تابع
backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) برای لحظه ی پایان پردازش مناسبه.
تابع
backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) برای انجام عمل گزارش گیری (یا هر عمل زمانبر دیگری) مناسبه.