View Full Version : سوال: چرا از راست به چپ برای Label کار نمی کند
pouyansaraf
یک شنبه 16 آبان 1389, 14:47 عصر
با سلام.
با وجود اینکه RigthToLeft و TextAlign لیبل را درست میکنم باز هم برای نوشتن جملات فارسی مشکل دارم و مجبورم از TextBox استفاده کنم .
چرا Label راست به چپ نمیشه؟
ali_najari
یک شنبه 16 آبان 1389, 14:59 عصر
دوست عزيز مشكلت چيه دقيقا؟ ميخواي چيكار كني؟
pouyansaraf
یک شنبه 16 آبان 1389, 15:08 عصر
مثلا نگاه کنید اگر کنترلی دیگر سمت راست Label باشد روی آن می آید
مانند شکل زیر
http://barnamenevis.org/forum/attachment.php?attachmentid=59804&stc=1&d=1289131572
hooooman
یک شنبه 16 آبان 1389, 15:48 عصر
سلام
احتمالا اين مشكل شما به AutoSize كنترل Label شما مربوط ميشه
pouyansaraf
یک شنبه 16 آبان 1389, 16:06 عصر
مرسی
عالی بود.
حالا چه ربطی به autosize داشت خدا میدونه.
ممنون از آقا هومن از کرمانشاه
ali_najari
یک شنبه 16 آبان 1389, 19:27 عصر
مرسی
عالی بود.
حالا چه ربطی به autosize داشت خدا میدونه.
ممنون از آقا هومن از کرمانشاه
دوست عزیز با اینکه شما Autosize رو False کردید ولی باز اون کاری رو نمیکنه که شما میخواید!
من دارم روش کار میکنم که یک Label واستون بنویسم که حتی با خاصیت AutoSize هم دیگه اون مشکل رو نداشته باشید ولی خوب یکم طول میکشه نوشتن و تست کردنش
ali_najari
یک شنبه 16 آبان 1389, 21:51 عصر
دوست عزیز من برات Label ی که گفته بودم رو ورژن اولش رو آماده کردم و امیدوارم که به کارتون بیاد
http://barnamenevis.org/forum/attachment.php?attachmentid=59826&stc=1&d=1289156211
http://barnamenevis.org/forum/attachment.php?attachmentid=59827&stc=1&d=1289156211
این هم سورس ساخت این کامپونت
Public Class SpecialLabel
Inherits System.Windows.Forms.Label
Private _EndPosition As Integer
Sub New()
Me.AutoSize = True
End Sub
Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
Try
If _EndPosition > 0 Then
MyBase.Location = New Point(_EndPosition - MyBase.Width, MyBase.Location.Y)
End If
Catch ex As Exception
End Try
MyBase.OnPaint(e)
End Sub
Protected Overrides Sub OnLocationChanged(ByVal e As System.EventArgs)
_EndPosition = Bounds.X + Bounds.Width
MyBase.OnLocationChanged(e)
End Sub
Protected Overrides Function GetScaledBounds(ByVal bounds As System.Drawing.Rectangle, ByVal factor As System.Drawing.SizeF, ByVal specified As System.Windows.Forms.BoundsSpecified) As System.Drawing.Rectangle
_EndPosition = bounds.X + bounds.Width
Return MyBase.GetScaledBounds(bounds, factor, specified)
End Function
End Class
pouyansaraf
یک شنبه 16 آبان 1389, 22:35 عصر
مرسی دوستان
علی نجار جون ممنون
ali_najari
دوشنبه 17 آبان 1389, 09:19 صبح
مرسی دوستان
علی نجاري جون ممنون
خواهش ميكنم
اگر مشكلي داشت بگيد تا براتون رفع كنم يا اگر تونستيد از كدها استفاده كنيد كه ديگه حرفي نيست
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.