PDA

View Full Version : بزرگ کردن عرض scrollbar دیتا گرید ویو



safa.net
چهارشنبه 12 آبان 1395, 12:10 عصر
با سلام، کسی می دونه چطور میشه عرض اسکرول بار رو در دیتاگرید ویو بیشتر کرد؟ در واقع روی سیستم های تاچ کاربر نمیتونه راحت با عرض پیش فرض اسکرول کنه.

تشکر

Programmer 1
چهارشنبه 12 آبان 1395, 13:42 عصر
اسکرول بار دیتاگرید رو مخفی کنید و از یک اسکرول بار سفارشی استفاده کنید.
http://www.codeproject.com/Articles/14801/How-to-skin-scrollbars-for-Panels-in-C

safa.net
چهارشنبه 12 آبان 1395, 14:49 عصر
ممنونم از بررسی شما. واقعیت من قبلا این مقاله رو دیده بودم ولی نتونستم با گرید ویو ترکیبش کنم. لطفا اگر مقدوره براتون سمپل بگذارید.
خود دیتاگرید همچین امکانی نداره؟؟؟

safa.net
پنج شنبه 13 آبان 1395, 18:56 عصر
کسی دیگه نیست که بدونه چطور باید عرض اسکرول بار در دیتا گرید ویو رو تغییر داد؟؟؟ یعنی راهی هست که تو سیستم تاچ کاربر برای اسکرول کردن دیتاگرید ویو راحت تر باشه؟؟

ASKaffash
شنبه 22 آبان 1395, 06:50 صبح
سلام
ظاهرا" شما با کد نویسی نمی توانید عرض Scroll را عوض کنید و از SystemInformation.HorizontalScrollBarHeight استفاده می شود کلاس SystemInformation را بررسی کنید

safa.net
شنبه 22 آبان 1395, 12:13 عصر
سلام
ظاهرا" شما با کد نویسی نمی توانید عرض Scroll را عوض کنید و از SystemInformation.HorizontalScrollBarHeight استفاده می شود کلاس SystemInformation را بررسی کنید
لطفا بیشتر راهنمایی کنید من نمونه ای پیدا نکردم.

ASKaffash
یک شنبه 23 آبان 1395, 06:43 صبح
سلام
این کلاس Static درون Using بنام System.Windows.Forms است و اکثر تنظیمات ویندوز را در خود جای داده است و خاصیت فقط خواندنی بنام HorizontalScrollBarHeight عرض اسکرول بارهای برنامه را تعیین میکند

safa.net
یک شنبه 23 آبان 1395, 18:03 عصر
سلام
این کلاس Static درون Using بنام System.Windows.Forms است و اکثر تنظیمات ویندوز را در خود جای داده است و خاصیت فقط خواندنی بنام HorizontalScrollBarHeight عرض اسکرول بارهای برنامه را تعیین میکند


لطفا اگه میشه مثالی بزنید که عرض اسکرول دیتا گرید رو بشه تغییر داد. تشکر

ASKaffash
سه شنبه 25 آبان 1395, 06:56 صبح
سلام
توضیحات من برای این بود که بگویم شما نمی توانید عرض اسکرول را برای ابزارهای دات نت مثل DataGridView تغییر دهید

safa.net
چهارشنبه 26 آبان 1395, 18:30 عصر
سلام
توضیحات من برای این بود که بگویم شما نمی توانید عرض اسکرول را برای ابزارهای دات نت مثل DataGridView تغییر دهید
پس با این تفاسیر تکلیف پروژه هایی که باید روی تبلت ویندوز اجرا شوند چی میشه؟ کاربر اگه بخواهد لیستی را بالا پایین کند و بخواهد از اسکرول استفاده کند، خیلی سخت این کار انجام میشود.

ASKaffash
جمعه 28 آبان 1395, 12:23 عصر
سلام
بله باید خودتان Scroll روی فرم قرار دهید و مدیریت Scroll را بعهده بگیرید من قبلا" برای تبلت مایکروسافتی مجبور شدم خودم دستی اسکرول را مدیریت کنم که البته کند هم شد

kamiloted
یک شنبه 30 آبان 1395, 01:40 صبح
سلام دوست عزیز.

شما باید از رفلکشن استفاده کنید.



FieldInfo fi = dataGridView1.GetType().GetField("m_sbVert", BindingFlags.NonPublic | BindingFlags.GetField | BindingFlags.Instance);

((VScrollBar)fi.GetValue(dataGridView1)).Width = 50;

fi = dataGridView1.GetType().GetField("m_sbHorz", BindingFlags.NonPublic | BindingFlags.GetField | BindingFlags.Instance);

((HScrollBar)fi.GetValue(dataGridView1)).Height = 0;




foreach (Control ctrl in dataGridView1.Controls)
if (ctrl.GetType() == typeof(VScrollBar))
ctrl.Width = 100;