PDA

View Full Version : مبتدی: نمایش یکسان فرم ها در مانیتور های مختلف



ozzy_mra
سه شنبه 02 اسفند 1390, 08:44 صبح
سلام
یه مشکل اساسی که از بدو شزوع برنامه نویسی ویژوال با اون درگیر بودم مشکل نمایش یکسان فرمها در مانیتور های مختلف بصورت یکسان بودم می دونم باید از خاصیت های Dock و Anchor استفاده کنم ولی درست نتونستم یاد بگیرم ممکنه یه راهنمایی درست و کامل برام بزارید که این مشکلم هم حل بشه ؟ خیلی خیلی ممنونم

zarrinnegar
سه شنبه 02 اسفند 1390, 09:21 صبح
منظورتون از نمایش یکسان از فم چیه؟
وقتی فرم شما مثلا 500*300 باشه خوب همه جا همین طوره
ولی اگه منظورتون اینه که فرم از عرض کم و زیاد بشه و کنترلها هم باهاش کش بیان اون وقته که Anchor کاربرد پیدا میکنه
معمولا هر ابزاری رو که روی فرم میزاری Anchor اون بصورت Top,Left تنظیم هست . یعنی از بالا و سمت چپ به فرم میچسبه
حلا اگر Anchor رو روی Top,Left,Right بزاری اون وقت ابزار با کوچیک و بزرگ شدن از عرض ، ابزار هم کوچیک و بزرگ میشه
معمولا Label ها رو که سمت راست فرم قرار دارن Anchor اونها رو بصورت Top,Right تنظیم میکنن که از سمت راست و بالا به فرم بچسبه و اگر فرم از عرض بزرگتر شد ، label هم سمت راست باهاش جابجا میشه

حالت Bottom زمانی استفاده میشه که بخواهیم ابزار از پایین فرم تنظیم بشه مثلا 2 تا Bottun پایین فرم بزارید و Anchor اون رو Bottom,Right قرار بدید اون وقت از پایین و سمت راست به فرم میچسبه و فرم کوچیک بزرگ بشه همون جا میمونه

ozzy_mra
سه شنبه 02 اسفند 1390, 13:39 عصر
منظورتون از نمایش یکسان از فم چیه؟
وقتی فرم شما مثلا 500*300 باشه خوب همه جا همین طوره
ولی اگه منظورتون اینه که فرم از عرض کم و زیاد بشه و کنترلها هم باهاش کش بیان اون وقته که Anchor کاربرد پیدا میکنه
معمولا هر ابزاری رو که روی فرم میزاری Anchor اون بصورت Top,Left تنظیم هست . یعنی از بالا و سمت چپ به فرم میچسبه
حلا اگر Anchor رو روی Top,Left,Right بزاری اون وقت ابزار با کوچیک و بزرگ شدن از عرض ، ابزار هم کوچیک و بزرگ میشه
معمولا Label ها رو که سمت راست فرم قرار دارن Anchor اونها رو بصورت Top,Right تنظیم میکنن که از سمت راست و بالا به فرم بچسبه و اگر فرم از عرض بزرگتر شد ، label هم سمت راست باهاش جابجا میشه

حالت Bottom زمانی استفاده میشه که بخواهیم ابزار از پایین فرم تنظیم بشه مثلا 2 تا Bottun پایین فرم بزارید و Anchor اون رو Bottom,Right قرار بدید اون وقت از پایین و سمت راست به فرم میچسبه و فرم کوچیک بزرگ بشه همون جا میمونه
سلام
ممنون. منظورم همینی بود که شما فرمودید. برای اطمینان این سوال منو لطفاً جواب بدید مثلاً تو فرمم به ترتیب 5 تا لیبل و نکست باکس هست یهنی لیبل 1 تکست باکس 1 لیبل 2 تکست باکس 2 و ... برای اینکه با کوچیک و بزرگ شدن فرم جاشون بهم نریزه باید Anchor رو چطور تنظیم کنم و اینکه تو هم تو هم نمیشه
و یه نکته دیگه تو مانیتور هایی که کنتراست تصویر پایین دارند کاری نمیشه کرد؟من برنامم رو تو یه دستگاهی که مانیتور قدیمی داشت تست کردم نصف کنترل هام تو فرمم جا نشده بود

zarrinnegar
سه شنبه 02 اسفند 1390, 13:48 عصر
خوب اگر همه زیر هم هستند یعنی یک label و یک textbox در یک خط و در خط بعدی یک Label و یک textbox و....
همه lable ها Anchor شون رو بزار Top,Right و textbox ها رو بزار Top,Left,Right

دومین مطلب رو دیگه نمیشه کاری کرد
چرا که هر Lable و Textbox و یا هر ابزار دیگه از تعدادی پیکسل برای طول و عرض ساخته شده و توی بهترین حالت نمایش تنظیم شده و اگر شما تعداد ابزارهاتون بره بالا ، توی صفحه ای که رزولوشن پایینی داره ، قسمتی از اونها دیده نخواهند شد.
برای این مطلب من چون از جانوس استفاده میکنم ، یکی از ابزار هاش به نام Pager هست که هر Usercontrol ی رو که داخلش بزاری ، اختلاف ارتفاع و عرض رو یک نوار Scroll میزاره که میشه بالا و پایین حرکت کرد و بقیه رو دید
راه دیگه ای نداره
آخه طرف وقتی مانیتورش اینطوریه یعنی کارت گرافیکش هم پایینه و کارت گرافیک که پایین باشه یعنی سیستم مشخصاتش پایینه و سیستمی با این مشخصات یعنی Win 7 و Vista هم روش نصب نمیشه پس دات نت 4 هم مشکل داره و Sql server هم که نمیشه روش نصب کرد و ....

alireza264
پنج شنبه 04 اسفند 1390, 01:39 صبح
سلام
یه مشکل اساسی که از بدو شزوع برنامه نویسی ویژوال با اون درگیر بودم مشکل نمایش یکسان فرمها در مانیتور های مختلف بصورت یکسان بودم می دونم باید از خاصیت های Dock و Anchor استفاده کنم ولی درست نتونستم یاد بگیرم ممکنه یه راهنمایی درست و کامل برام بزارید که این مشکلم هم حل بشه ؟ خیلی خیلی ممنونم

سلام از tableLayoutPanel استفاده کن

m2_farzan
جمعه 05 اسفند 1390, 13:39 عصر
بهتربن، مطمئن ترین، فنی ترین و استاندارد ترین راه حل ارائه شده برای این مشکل، WPF هست.