PDA

View Full Version : رفع مشکل resoulation های متفاوت مانیتور



bozhmehrani
دوشنبه 04 اردیبهشت 1391, 12:55 عصر
یک کلاس هست به نام resoulationکه اگه رزولیشن کامپیوتر مشتری روی 1024 نباشد رزولیشن اونو روی 1024 ست میکنه.آیا این راهکاره خوبی می باشد؟(من که لپتاپ دارم و رزولیشن بالایی داره کیفیت برنامه شدید پایین میاد (کوچک میشه) وقتی برنامه بسته میشه به حالت اول برنمی گرده)؟آیا راهکار برای رفع مشکل رزولوشن برنامه تو کامپیوتر های مختلف همین است؟

jmfnima
دوشنبه 04 اردیبهشت 1391, 13:30 عصر
آره دوست عزيز راهكار هست
من يك فايل dll براي برنامه هام استفاده كردم به نام Resize كه جواب هم داده و روي هر رزوليشني كه سيستمت باشه چيدمان كنترل هاي فرمهاي برنامه ات بهم نمي ريزه .

bozhmehrani
سه شنبه 05 اردیبهشت 1391, 08:23 صبح
دوست عزیز میشه این فایل dllتونو بزارین البته با طریقه استفاده اش ممنون میشم

سوال دیگم اینه که من الان که میخوام برنامه ای طراحی کنم که تو هر رزولیشنی جواب بده ، که استانداردش 1024 . رزولیشن مانیتور خودمو روی 1024 تنظیم کنم؟
رزولیشن من روی 1280.

csharpprogramer88
سه شنبه 05 اردیبهشت 1391, 09:21 صبح
امیدوارم برای شما مفید باشد
نتیجه استفاده را هم بزارید که راضی بودید یا نه

http://barnamenevis.org/showthread.php?164851-%D8%AA%D9%86%D8%B8%DB%8C%D9%85-%D8%B3%D8%A7%DB%8C%D8%B2-%DA%A9%D9%86%D8%AA%D8%B1%D9%84-%D9%87%D8%A7-%D8%A8%D9%87-%D8%B5%D9%88%D8%B1%D8%AA-%D8%A7%D8%AA%D9%88%D9%85%D8%A7%D8%AA%DB%8C%DA%A9-%D8%AF%D8%B1-%D9%87%D8%B1-%D8%B1%D8%B2%D9%88%D9%84%D9%88%D8%B4%D9%86&highlight=LarcomAndYoung
در پست 6 توضیح داده شد

موفق باشید

bozhmehrani
سه شنبه 05 اردیبهشت 1391, 13:21 عصر
ممنون دوست عزیز .برا هر فرم باید روش درگ کنی دیگه آره؟
آقا مشکلم حل نشد.من فرممو رو لپتاپم که رزولیشونش 1280 طراحی کرده بودم
الان که اون دی ال ال رو میندازم و رزولیشونش روی 1024 میزارم نصف صفحه سمت چپ میره.
مشکل چیه؟dll یسری پروپرتی داره سردر میارین؟
86227
http://barnamenevis.org/images/misc/pencil.png

bozhmehrani
چهارشنبه 06 اردیبهشت 1391, 17:09 عصر
دوستان کسی نیست جوابی به ما بده؟

Hossenbor
چهارشنبه 06 اردیبهشت 1391, 17:35 عصر
دوسته من منظورتون جدا از Anchor و Dock هست؟

Hossenbor
چهارشنبه 06 اردیبهشت 1391, 17:40 عصر
خوب چرا نوار پیمایش نمیذاری اگه نظره منو میخوایی به سمت پایین باشه تا چپ

bozhmehrani
چهارشنبه 06 اردیبهشت 1391, 21:46 عصر
آره ، من داک و انچر رو هم رعایت کردم
نمیدونم.اگه دوستات نمونه برنامه ای بزارن ممنون میشم. اگه جواب گرفتن
انگاری کسی نیس

رافعی مهدی
پنج شنبه 07 اردیبهشت 1391, 06:59 صبح
سلام
منطقاً باید تمام حالات رو در نظر گرفت و سپس بر اساس شرایط یکی از آنها رو انتخاب کرد.
اگر کنترلها عرض/ارتفاع زیادی رو اشغال کنند _شبیه GroupBoxهای وضعیت سواد، بانک و ..._، کنترلی که آنها رو در بر گرفته (Container) _در اینجا GroupBox اطلاعات روستا_ دو حالت بیشتر نمیتواند داشته باشد:

باید عرض/ارتفاع خودش رو با عرض/ارتفاع فرم مطابقت بده. (با استفاده از Anchor)

ایراد 1: با کاهش بیش از اندازه فرم و کوچک شدن فضا، کنترلهای Content در فضای Container جای نمیگیرند.
راه حل: طراحی و جانمایی کنترلها بر اساس حداقل اندازه فرم و ست کردن پراپرتی MinimumSize فرم بر روی مقدار حداقل مورد نظر.

ایراد 2: با افزایش بیش از اندازه فرم و بزرگ شدن فضا، بخش اعظم فرم خالی مانده و اینترفیس زیبایی خود را تا حدی از دست خواهد داد.
راه حل: پخش کردن یکنواخت کنترلهای Content در عرض/ارتفاع فرم با تنظیم کردن Anchor و اگر به این صورت ممکن نبود با استفاده از کد نویسی و تنظیم Location کنترلها در رویدادهای Resize، ResizeBegin، ResizeEnd یا رویداد SizeChanged. (که بستگی به استراتژی شما دارد.)


باید آزادانه عرض/ارتفاع خودش رو داشته باشه و محتویاتش (Content) رو با استفاده از Scroll نمایش بده. (با استفاده از AutoScroll یا کنترل VScrollBar/HScrollBar)

ایراد 1: با کاهش بیش از اندازه فرم و کوچک شدن فضا، میبایست کاربر برای استفاده از فرم مدام اسکرول کند.

ایراد 2: مشابه با حالت قبل.


اما راه حل دیگری هم وجود دارد که در مورد فرم شما، به نظر من، بهترین راه محسوب میشود. هنگامی که تعداد کنترلهای Content زیاد است. چیدمان ثابت آنها کار دشواری است. در این موارد یکی از بهترین گزینه ها استفاده از کنترل FlowLayoutPanel است. این کنترل که اساساً نوعی Panel میباشد به صورت اتوماتیک کنترلهای فرزند خودش را در کنار یکدیگر میچیند. برای تنظیم کردن جهت چینش کنترلها میتوانید از پراپرتی FlowDirection این کنترل استفاده کنید. آخرین نکته اینکه میتوانید این کنترل رو به همراه اسکرول به کار ببرید که در این صورت هر حالتی برای چیدمان کنترلها میتوانید متصور بشید.
در تصویر یک، چند GroupBox روی یک FlowLayoutPanel قرار گرفته اند و در تصویر دو با کاهش یافتن عرض فرم چیدمان آنها به صورت خودکار اصلاح شده است.


86313
تصویر یک

86314
تصویر دو

bozhmehrani
جمعه 15 اردیبهشت 1391, 12:28 عصر
با تشکر از جواب دوستمون
یه سوال و آخرین سوال.
اگه من موقع طراحی رزولشن لپ تابمو رو حالت استاندارد1024 تنظیم کنم و تو اون حالت فرمامو طراحی بکنم . هیچ مشکلی پیش نمیاد درسته؟anchor,سایز کنترل ها رو هم بادقت میچینی.
اگه رزولشن کاربر ازاین بالاتر باشه که چه بهتر اگه پاینتر باشه که بعید میدونم از کاربر میخوای که رزولوشن رو تنظیم کنه حداقل 1024

درسته؟