رفتن به مطلب

فیت کردن متن در لیبل بر اساس سایز آن


Salar82

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

سلام

موضوعی که قصد آموزشش رو دارم «فیت کردن متن در لیبل» هست.

یکی از مشکلات اساسی برنامه‌نویسی اینه که موقعی که تو لیبل متنی رو می‌نویسیم، سایز متن لیبل در تمام گوشی‌ها یکسانه؛ این در حالیه که سایز لیبل بر اساس اندازه‌ی سایز گوشی کاربر تغییر می‌کنه و این باعث می‌شه که جلوه‌ی زیبای برنامه از بین بره.

برای حل این مشکل کافیه فقط Sub زیر رو به پروژه اضافه کنیم:

Sub SetLabelTextSize(ex As Label, txt As String)
	Dim dt As Float
	Dim limit = 0.5 As Float
	Dim h As Int
	Dim stu As StringUtils

	ex.Text = txt
	ex.TextSize = 72
	dt = ex.TextSize
	h = stu.MeasureMultilineTextHeight(ex, txt)
	Do While dt > limit Or h > ex.Height
		dt = dt / 2
		h = stu.MeasureMultilineTextHeight(ex, txt)
		If h > ex.Height Then
			ex.TextSize = ex.TextSize - dt
		Else
			ex.TextSize = ex.TextSize + dt
		End If
	Loop
	ex.TextSize=ex.textsize * 0.8
End Sub

البته باید کتابخانه StringUtils رو فعال کنیم.

 

و هر وقت خواستیم از اون استفاده کنیم، کافیه اسم رویداد رو در مکان مناسب بنویسیم.

 

از این رویداد میتونیم برای button  هم استفاده کنیم.

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

بایگانی شده

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

  • کاربران آنلاین در این صفحه   0 کاربر

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