PDA

View Full Version : مشکل با progresbar



sm
پنج شنبه 22 دی 1384, 10:03 صبح
با سلام
من وقتی میخوام نتیجه گزارش رو به کاربر نشون بدم چون حدودا یک دقیقه طول میکشه تا نتیجه رو بیاره یه progressbar زیر فرمم قرار دادم
مشکلی که داره اینه که وقتی پارامترها رو به گزارش رد میکنم و reportsource رو ست میکنم در نتیجه کنترل به CR داده میشود و اگر بطور مثال مقدار Progresbar ری 40 باشه همینطور میمونه تا کنترل به دات نت برگرده و یکباره تا 100 میره و تموم میشه
چطوری میشه این مشکل رو حل کرد ؟

meh_secure
چهارشنبه 28 دی 1384, 23:54 عصر
بعد از هر بار مقدار دهی به ProgressBar متد Refresh را اجرا کن.

Hamedm
پنج شنبه 29 دی 1384, 00:23 صبح
بعد از هر بار مقدار دهی به ProgressBar متد Refresh را اجرا کن.

سلام

ProgressBar نیاز به Refresh نداره.

در پناه حق موفق باشید و پرتوان

حامد مصافی
پنج شنبه 29 دی 1384, 01:12 صبح
سلام
در هنگام کار با progressbar یا باید مدت زمان پروسه رو بدونی و با استفاده از یک thread مقدار progressbar رو زیاد کنی یا اینکه تمام پروسه در برنامه شما اجرا بشه و خودتون مقدار progressbar رو زیاد کنید (که در این مثال اینطوری نیست)

اکه پروسه شما همیشه یک دقیقه طول میکشه می تونی از روش اول استفاده کنی

اما من پیشنهاد می کنم از یک animation استفاده کنی مثل همونی که در موقع لود شدن ویندوز یا جستجول فایل ها به کاربر نشون داده میشه

meh_secure
پنج شنبه 29 دی 1384, 13:11 عصر
سلام

ProgressBar نیاز به Refresh نداره.

در پناه حق موفق باشید و پرتوان

سلام.
آیا label نیاز به refresh دارد؟

اگر مقدار یک label رو در یک حلقه بطور متناوب مقدار دهی کنی . مقادیر فقط در صورت بکار بردن متد Refresh نمایش داده خواهند شد.

sm
شنبه 01 بهمن 1384, 13:07 عصر
ممنون از دوستان
من از ابتدا نمیدونم چه مدت طول میکشه
فکر کنم روشی رو که گفتن یه انیمیشن بسازم بهترین راه باشه
میشه اگه کسی انیمیشنی داره یا آدرسی داره بذاره تا همه استفاده کنن؟

fotrosi
شنبه 01 بهمن 1384, 13:36 عصر
با سلام

امیدوارم به در بخورد.

حامد مصافی
یک شنبه 02 بهمن 1384, 00:39 صبح
اینم یه مدل دیگه

Behnama
چهارشنبه 27 تیر 1386, 23:08 عصر
سلاممن یک مشکل با ریسمان ها دارم . وقتی یک ریسمان رو با یک دکمه راه میندازم ، دیگه با دکمه دیگه ای نمی تونم متوقفش کنم . اصلاً مثل نبودن ریسمان ، صفحه قفل می شه و اصلا این ریسمان برای من فایده ای نداره . دلیل این موضوع چیه ؟

reza1944
چهارشنبه 02 آبان 1386, 00:26 صبح
اقایون کمک می خوام با استفاده از progressbar یه فرم یا گزارش رو لود کنم سورس کد چگونه بنویسم اگه آقایی sm بدن خوب میشه کمک

reza1944
چهارشنبه 02 آبان 1386, 00:28 صبح
خیلی فوریه کمک

reza1944
چهارشنبه 02 آبان 1386, 00:33 صبح
خیلی فوریه کمک

amirsajjadi
چهارشنبه 02 آبان 1386, 09:19 صبح
کاربر Behnama اگر منظورتون از ریسمان همون Threat که :
ابتدا بک Threat به صورت پابلیک درست کن


Dim a As Threading.Thread

بعد در جایی که میخوای استارتش کنی بنویس


a=new Threading.Thread(AddressOf نام زیربرنامه)
a.Start

حالا جایی که میخوای استوپ کنی بنویس


a.Abort

در ضمن این زیر برنامه ای که میخوای آدرس اونو به Threat بدی اگه لودش سنگین باشه یک مدت زمانی (بسته به سرعت سیستم) طول میکشه که لود بشه ولی وقتی که لود شد دیگه مشکلی نداری

amirsajjadi
چهارشنبه 02 آبان 1386, 09:21 صبح
سلام دوست من sm
اگر با ویژوال بیسیک دات نت 2005 کار میکنی خود ProgressBar نوع انیمیشن داره به این صورت :


ProgressBar1.Style=ProgressBarStyle.Marquee
ProgressBar1.MarqueeAnimationSpeed=300

amirsajjadi
چهارشنبه 02 آبان 1386, 10:23 صبح
کاربر reza1944 اگه منظورت از لود فرم فراخوانی رویداد Form_Load است که میتونی رویداد Form_Load فرمی که میخوای لودش کنی رو از نوع Public کنی به این صورت


Public Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

حالا این رویداد پابلیک رو فرخوانی کن به این صورت


Form1_Load(sender, e.Empty)

اگر منظورت از لود فرم لود اشیایی که روی فرم (باتون ، لیست باکس و ...) است که باید به این ترتیب عمل کنی :
1)گزینه Show All رو از قسمت Solution Explorer صفحه دات نت انتخاب کن تا تمام زیر مجموعه ها نمایش داده شوند
2)روی + فرمی که میخوای لود بشه کلیک کن تا زیر مجموعه هاش نمایش داده بشه
3)روی Form.Designer.vb دوبار کلیک کن تا کزینه های مخفی فرم باز بشه
4)حالا زیر برنامه (ساب) InitializeComponent رو از نوع Friend کن
5)حالا قبل از Show کردن فرمی که میخوای لود کنی این زیر برنامه رو فراخوانی کن به این صورت

FormName.InitializeComponent

به این صورت ابتدا تمام اشیاء فرم لود مشن و سر جاهای خودضون قرار میگیرن بعد فرم نمایش داده میشه