PDA

View Full Version : سوال: تغییر اتوماتیک اسکرول فرم



Nima_kyan
چهارشنبه 23 اسفند 1391, 09:59 صبح
سلام
دوستان یه برنامه دارم که کارش مانیتورینگ هستش که تعداد زیادی پنل رو فرمه و Scroll فرم هم فعال هستش.
مشکل من اینه که میخوام این اسکرول به صورت اتوماتیک تغییر کنه. یعنی مثلا وقتی محاسبات داره رو پنل های پایین تر انجام میشه(که حالت عادی اون پنل دیده نمیشه) اسکرولمم تغییر کنه و اون پنل فعال رو نمایش بده.
ممنون میشم کمک کنید.

Nima_kyan
چهارشنبه 23 اسفند 1391, 15:17 عصر
کسی نیست یه راهنمایی کنه؟:ناراحت:

abbas.oveissi
چهارشنبه 23 اسفند 1391, 15:45 عصر
کسی نیست یه راهنمایی کنه؟:ناراحت:

این متد بدردت نمیخوره ؟ اگه auto Scroll فعال باشه،اسکرول میکنه فرم رو روی اون control که به عنوان ورودی بهش دادی.
this.ScrollControlIntoView(button1);

veniz2008
چهارشنبه 23 اسفند 1391, 19:37 عصر
سلام
دوستان یه برنامه دارم که کارش مانیتورینگ هستش که تعداد زیادی پنل رو فرمه و Scroll فرم هم فعال هستش.
مشکل من اینه که میخوام این اسکرول به صورت اتوماتیک تغییر کنه. یعنی مثلا وقتی محاسبات داره رو پنل های پایین تر انجام میشه(که حالت عادی اون پنل دیده نمیشه) اسکرولمم تغییر کنه و اون پنل فعال رو نمایش بده.
ممنون میشم کمک کنید.
سلام پسر.
یه کدی میگم البته به نظرم کد بهینه نیست و بیشتر کلک مرغابی هست! ولی شاید بهت کمک کنه.
یه پروپرتی هست با نام VerticalScroll که خودش یه پروپرتی value داره که اسکرول رو مطابق مقدار دریافتی جابه جا میکنه. مقداری که بصورت پیش فرض دریافت میکنه بین 0 تا 100 هست. اگر 0 بدی اسکرول همون ابتدا قرار میگیره و اگر 100 بدی اسکرول میچسبه به ته. شما توی برنامت، خودت میدونی که هر قطعه کد مربوط به کدوم panel میشه. مثلا اگر 4 تا panel و 4 قطعه کد داشته باشی که هر قطعه کد مربوط به یک panel باشه. میدونی که قطعه کد 2 مربوط به panel2 هست. خوب حالا زمانیکه به این قطعه کد میرسی میتونی طبق کدی که گفتم اسکرول رو در وسط تنظیم کنی. یعنی اینطور :

this.VerticalScroll.Value = 50;
یا اگر کدهای قطعه3 که مربوط به panel3 میشه رو اجرا میکنی از کد زیر استفاده کنی :

this.VerticalScroll.Value = 75;
باید در عمل چک کنی و ببینی که آیا نتیجه دلخواه رو میگیری یا نه.
موفق باشی پسر.