ا سلام چگونه مي توان موقعيت كنترلهاي روي فرم با تغيير رزوريشن مانيتور بهم نريزد وحفظ شود وهمچنين اندازه كنترل ها نيز حفظ شود وبطور كلي تناسب طراحي فرم بهم نريزد با تشکر فراوان
خوب میتونی یک مبنا رو انتخاب کنی و با توجه به کد زیر اونو تغییر بدی و در تمام اشیاء از اون استفاده کنی
کد:
Screen.Height
Screen.Width
mahdi12345 نوشته است:می شود بیشتر توضیح بدهی و مثال بنویسی و TOPوLEFTچطور
خوب یه نسبت تناسب ساده هست دیگه مثلا الان که ریزولیشن صفحه 800*600 هست اندازه فرمت مثلا 400*300 هست ( یه عدد روند گفتم که قابل فهم باشه) یعنی اندازه فرمت نصف اندازه اسکرین هست. پس کافیه اندازه اسکرین رو بدست بیاری و نصف اون رو به جای اندازه فرم قرار بدی. همین طور یه شی روی فرمت، کافیه نسب طول و عرض و چپ و راست اون رو نسبت به فرم بدست بیاری و بعد با تغیییر اندازه فرم اونها رو به همون نسبت تغییر بدی.
البته بهت پیشنهاد می کنم فقط طول و عرض رو تغییر بدی و کاری به چپ و راست نداشته باشی که درد سر داره و در آخر چیز جالبی در نمیاد.
سلام.
اصلا چرا میخوای این کار بکنی؟
اگه رزولیشن تغییر کنه اندازه کنترل ها هم متناسب با رزولیشن تغییر میکنه. این کار باعث ایجاد مشکلاتی میشه.
مثلا در رزولیشن 1024*768 اگر اندازه فرمت 1000* 700 باشه وقتی رزولیشن به 800* 600 تغییر کنه و اندازه فرمت همچنان 1000*700 باشه بزرگتر از صفحه مانیتور میشه و از گوشه های فرم از مانیتور میزنه بیرون. هر چند فکر نکنم ویندوز هم اجازه بده رو یه رزولیشن این قدر فرمت بزرگتر باشه. ولی مشکلاتی پیش میاد.
خیلی ممنون از راهنما یی ات
قبلا هم در این باره بحث شده (مثلا تو بخش VB.NET) و افراد انتظار دارن که این عمل بطور خودکار انجام بشه.
تمام این کارها با کدنویسی انجام میشه. من توی دوتا برنامه این کار رو کردم. خیلی کدنویسی داره. مطمئن باش MediaPlayer و سایر نرم افزارهایی که با تغییر اندازه آبجکت های خودشون رو جابجا می کنند هم کلی کدنویسی شده براشون. چنین کاری بدون زحمت و بطور اتوماتیک انجام نمیشه.
هر چند این مطلب مدتیه داره خاک میخوره ولی چون به مطالب قبلی پاسخ نداده بودم گفتم این یکی رو جواب بدم.
mojtabamalaekeh نوشته است:تمام این کارها با کدنویسی انجام میشه. من توی دوتا برنامه این کار رو کردم. خیلی کدنویسی داره. مطمئن باش MediaPlayer و سایر نرم افزارهایی که با تغییر اندازه آبجکت های خودشون رو جابجا می کنند هم کلی کدنویسی شده براشون. چنین کاری بدون زحمت و بطور اتوماتیک انجام نمیشه.
کد نویسی زیادی نمیخواهد
بیشتر اشیاء خواصی دارن که با تغییر اونها به مقادیر مورد نظر در زمان اجرا با تغییر اندازه فورم با رزولیشن چیدمان عناصر به هم نمیریزه
من موندم این موضوعا رو از کجا پیدا میکنید.
۵-۶-۱۳۸۶ میدونیی یعنی چقدر گذشته؟
نقل قول: من موندم این موضوعا رو از کجا پیدا میکنید.
۵-۶-۱۳۸۶ میدونیی یعنی چقدر گذشته؟
مثلا «یک سال نوری» از اون تاریخ گذشته.
مهم اینه که میره جزو مطالب جدید و دیگران هم می بیننش
شما اگه دوست داری همین سؤال رو با تاریخ جدید تر پیدا کن جواب بده
نقل قول: بیشتر اشیاء خواصی دارن که با تغییر اونها به مقادیر مورد نظر در زمان اجرا با تغییر اندازه فورم با رزولیشن چیدمان عناصر به هم نمیریزه
حتی توی ویژوال بیسیک؟ میشه بیشتر توضیح بدین؟
البته به غیر از خاصیت Align
mojtabamalaekeh نوشته است:حتی توی ویژوال بیسیک؟ میشه بیشتر توضیح بدین؟
البته به غیر از خاصیت Align
در مورد mediaplayer و اینها هم که مثال زدین مگه کدشو دیدین که میگین برای فلان بخشش کلی کد نوشتن
من ویژوال بیسیک کار نکردم ولی تو دلفی کامپوننتها خواصی برای این کار دارن
(حتی میتونی یه تابع بنویسی برای این کار که مثلا اگه رزولیشن کوچیک شد کامپوننتهات هم به همون نسبت کوچیک بشن و در موقع load فورمت اول رزولیشن رو چک کنی و در صورت تغییراون تابع رو برای عناصر ویژوالت فراخوانی کنی)