PDA

View Full Version : گفتگو: بازم مشکل در چینش اشیاء در فرم های شلوغ



arman_Delta2002
پنج شنبه 19 مرداد 1391, 08:58 صبح
سلام من آدم ایراد گیری نیستم ولی بزی مشکلات روی نرو آدم میرن!!
من یک فرم با کلی آبجکت دارم چیزی حدود بیش از 200 تا شیع روی یک فرم و نمیخوام از حالت لاکت استفاده کنم یا پنل بندی که مشکلات خواص خودش رو داره ولی موندم چرا بعد از هر بار باز شدن پروژم چک باکس ام فقط یک تعدادی شون حرکت کردن از جای خودشون یک مقدار کم!!!!
90971
من بار ها این چک باکس ها رو الاینگ کردم و باز حرکت کردن بعد از باز گشایی کل پروژه دلیل حرکت این چک باکس ها چیه؟
90972

amirzandi
پنج شنبه 19 مرداد 1391, 09:09 صبح
این مشکل رو منم دارم... هر بار باید توی Design درستش کنم... ولی بعد از یکبار publish کردن دیگه درست هستن....

arman_Delta2002
پنج شنبه 19 مرداد 1391, 09:44 صبح
من تا حالا چندین نسخه از نرم افزار رو با اینستال اویر پاپلیش کردم که این مشکل به چشمم خورد!!! قصدم حل این مشکل نیست ولی میخوام بدونم چراااا؟؟؟؟

جابله با اینکه چک باکس ها لاکت هم بودن بازم حرکت کردن!!!!!

the king
پنج شنبه 19 مرداد 1391, 16:06 عصر
سلام من آدم ایراد گیری نیستم ولی بزی مشکلات روی نرو آدم میرن!!
من یک فرم با کلی آبجکت دارم چیزی حدود بیش از 200 تا شیع روی یک فرم و نمیخوام از حالت لاکت استفاده کنم یا پنل بندی که مشکلات خواص خودش رو داره ولی موندم چرا بعد از هر بار باز شدن پروژم چک باکس ام فقط یک تعدادی شون حرکت کردن از جای خودشون یک مقدار کم!!!!
90971
من بار ها این چک باکس ها رو الاینگ کردم و باز حرکت کردن بعد از باز گشایی کل پروژه دلیل حرکت این چک باکس ها چیه؟
90972

دلیلش اینه که قابلیت Auto Size و Anchor ئه Right با سیستم Location ای که فرم های Net. دارند درست و اصولی در نمیاد.
طراحی کردن کنترلی که AutoSize باشه سخت نیست، طراحی کردن کنترلی که Anchor ئه Right باشه هم سخت نیست،
اما وقتی ایندو تا با هم ترکیب می شوند باید مختصات Location حتما از Right کنترل سنجیده بشه، نه Left اش.
متاسفانه سیستم فرم های Net. تمامی Location ها رو بر مبنای Left کنترل ذخیره می کنه که در مورد کنترل هایی که
هم AutoSize اند و هم Anchor ئه Right این Left متغیره و ثابت نیست که بشه رویش حساب کرد.
در یک حالت خاص که بعضی اوقات پیش میاد فرم Load میشه، موقعیت قبلی اون کنترل شما رو هم که از قبل یادشه تنظیم می کنه،
اما هنوز متن داخل کنترل رو فراخوانی نکرده و همون متن پیشفرض مونده. در این حالت Location درست نیست، چون اون Location
با متن اصلی جور بوده نه متن پیشفرض. حالا تا متن اصلی توی کنترل فراخوانی میشه چون AutoSize ئه کنترل تغییر اندازه میده
و موقعیت Location اش میره جایی که نباید بره.

ساده ترین راه حل اینه که شما اون قابلیت AutoSize رو در کنترل هایی که Anchor ئه Right می چینید بردارید.