رفتن به مطلب
  • 0

درخواست راهنمایی برای استفاده درست از Designer Script


Kazem Forghani

سوال

سلام؛ سوالاتی دارم...

من تمامی آموزش های دیزاینر اسکریپت در انجمن رو دیدم اما می خوام توضیح بدید:

من همیشه در دیزاینر اسکریپت از کد SetLeftAndRight و SetTopAndButtom استفاده می کنم. می خوام ببینم این روش درسته؟

به عنوان مثال من یک دکمه دارم. کدها رو به این صورت نوشتم:

btn.SetLeftAndRight(20%x, 80%x)
btn.SetTopAndBottom(30%y, 70%y)

با این کدها دکمه من در برخی از صفحه نمایش ها مربع و برخی هم کشیده از بالا دیده می شه.

حالا سوالات من:

1- چطوری می شه کدی نوشتن که دکمه به نسبت صفحه نمایش بزرگ بشه اما نسبت طول و عرضش حفظ بشه؟

2- کلا درباره اصول Designer Script توضیح بدید. می خوام بدونم چطوری میشه از کدهای استانداردی استفاده کرد که برنامه در همه ی صفحه نمایش ها درست نمایش داده بشه.

3- یه کدی دیدم در دیزاینر اسکریپت به نام AutoScaleAll . این کد به صورت پیشفرض نوشته شده. آیا تاثیری داره؟ یا اصلا کاربردش چیه؟

 

من از خاصیت BOTH در Properties دکمه استفاده کردم اما اگر چند دکمه داشتم در برخی از موارد دکمه ها روی هم می افتادن...

 

ممنون

لینک ارسال
به اشتراک گذاری در سایت های دیگر

7 پاسخ به این سوال تاکنون داده شده است

ارسال های توصیه شده

دوست عزیز به جای اینکه از % استفتده کنید از dip استفاده کنید

چون % که بذلری اگه صفحه بزرگ باشه ویو شما هم بزرگ میشه و اگه صفحه کوچیک باشه ویو شما هم کوچک میشه اما dip ثابته چه صفحه بزرگ باشه چه کوچک

label1.setleftandright(10dip,80dip)
لینک ارسال
به اشتراک گذاری در سایت های دیگر

 

دوست عزیز به جای اینکه از % استفتده کنید از dip استفاده کنید

چون % که بذلری اگه صفحه بزرگ باشه ویو شما هم بزرگ میشه و اگه صفحه کوچیک باشه ویو شما هم کوچک میشه اما dip ثابته چه صفحه بزرگ باشه چه کوچک

label1.setleftandright(10dip,80dip)

سلام

خوب اینکه می شه همون قرار دادن ویو! دیگه چه نیازی به نوشتن این کد هست؟!

من می خوام اندازه طول و عرض دکمه به یک نسبت تغییر کنه!

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اگر در دیزاینر از شرط استفاده کنید کارتون راه میوفته

If ActivitySize>600 Then
'size button marbot be tablet
Else If ActivitySize<=500 Then
'size button marbot be safe namayesh paiin tar as tablet
End If

در دو حالت سایز های محتلف را تست کنید

میتوانید در دیزاینز match chosen variant اگر اشتباه ننوشته باشم روی صفحه های مختلف تست کنید :give_rose:

امید وارم درست متوجه شده باشم و راهنماییم درست باشه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

این که شما میگین دکمه هاتون بعضی جاها کشیده میشه یا بعضی جاها مربع نشون داده میشه به خاطر استفاده از % هست که توی انداره هاتون میدین

اینی هم که میگین میخاین به یک نسبت تغییر کنن باید اعدادتون رو به صورت مضربی از هم استفاده کنید

یا یه روش دیگه اینکه

label1.setlefandright(10dip,50dip)
label1.settopandbottom(label1.width,100dip)

اینایی که گفتم مثال هستن و فقط کافیه یکم از خلاقیتتون استفاده کنید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اگر در دیزاینر از شرط استفاده کنید کارتون راه میوفته

If ActivitySize>600 Then
'size button marbot be tablet
Else If ActivitySize<=500 Then
'size button marbot be safe namayesh paiin tar as tablet
End If

در دو حالت سایز های محتلف را تست کنید

میتوانید در دیزاینز match chosen variant اگر اشتباه ننوشته باشم روی صفحه های مختلف تست کنید :give_rose:

امید وارم درست متوجه شده باشم و راهنماییم درست باشه

این مقدار اندازه اکتیویتی بر اساس چه واحدی است؟

خیلی ممنون بابت پاسخ مفیدتون. تا حدودی نزدیکه ولی من یه چیز دیگه نیاز دارم :)

بگذارید خیلی مفصل و با مثال توضیح بدم:

به عنوان مثال من می خوام یه برنامه مثل آفتابه بسازم. اگر توجه کرده باشید در آفتابه اندازه عکس ها به یک نسبت تغییر می کنه. اگر صفحه نمایش به صورت عمودی کشیده باشه نسبت اون تصویر حفظ می شه. یا اگر صفحه نمایش به صورت افقی کشیده تر باشه بازم تصویر نسبت طول و عرضش رو حفظ می کنه. یا برنامه دکمه های کلمه هم به این صورت هست. طول و عرض به یک نسبت تغییر می کنه در اندازه های مختلف صفحه نمایش.

من کد های مختلفی رو امتحان کردم اما هیچ کدوم پاسخ سوال من نبوده و مشکلاتی داشته!

تشکر فراوان

لینک ارسال
به اشتراک گذاری در سایت های دیگر

@@kazem forghani,

خواهش میکنم

کد ها بر پایه dip  هستش البته کل سایز اکتیویتی رو میگیره

خب به نظر من شاید راه حل این باشه

شما به جای استفاده از set کردن بیاین دونه دونه کد هاتون رو بنویسید left , right , bottom , height , top  و ...

بنده با Set مشکل داشتم یه زمان از اون موقع کد هارو با حوصله دونه دونه تعریف میکنم

شما هم تست کن مطمعن باش با نوشتن کد های جدا به جواب میرسید

راه دیگش هم اینه که شما دوتا پنل که یکی مقدار left برابر با 0 ویکی مقدار right برابر با 100%x بایشه بسازین

حالا چپ و راست اشیاء رو نسبت به چپ و راست پنل بسازید :give_rose:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

@@kazem forghani,

خواهش میکنم

کد ها بر پایه dip  هستش البته کل سایز اکتیویتی رو میگیره

خب به نظر من شاید راه حل این باشه

شما به جای استفاده از set کردن بیاین دونه دونه کد هاتون رو بنویسید left , right , bottom , height , top  و ...

بنده با Set مشکل داشتم یه زمان از اون موقع کد هارو با حوصله دونه دونه تعریف میکنم

شما هم تست کن مطمعن باش با نوشتن کد های جدا به جواب میرسید

راه دیگش هم اینه که شما دوتا پنل که یکی مقدار left برابر با 0 ویکی مقدار right برابر با 100%x بایشه بسازین

حالا چپ و راست اشیاء رو نسبت به چپ و راست پنل بسازید :give_rose:

سلام مجدد

یعنی مثلا با این کد میشه نبست رو حفظ کرد؟ یا width و height مقدارشون فرق می کنه؟

Label1.Width = 80%x
Label1.Left = 10%x
Label1.Height = Label1.Width - 50dip

یا باید به جای dip از % استفاده کنم.

متشکرم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

مهمان
این موضوع برای عدم ارسال قفل گردیده است.
  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...