View Full Version : سوال: ساخت خصوصیتی برای گرفتن زبان یک ملیت
ROSTAM2
شنبه 17 دی 1401, 22:13 عصر
سلام.
برای ایجاد یک خصوصیت مثل خصوصیت Language از Form باید از چه کلاس یا Enumeration ی استفاده کنیم یا اینکه باید خودمون یک Enumeration برای اون ایجاد کنیم؟!
154430
ROSTAM2
یک شنبه 18 دی 1401, 20:15 عصر
سلام به همه:
با کلاس CultureInfoConverter و استفاده از اتریبیوت TypeConverter برای خصوصیت می شه نام همه زبان ها رو داشت:
Private LanguageValue As Globalization.CultureInfo = Globalization.CultureInfo.CurrentCulture
<DefaultValue("en")>
<TypeConverter(GetType(CultureInfoConverter))>
Public Property Language() As Globalization.CultureInfo
Get
Return LanguageValue
End Get
Set(ByVal value As Globalization.CultureInfo)
LanguageValue = value
End Set
End Property
154438
اما DisplayName از CultureInfo برای نمایش داده شدن و گرفتن Name از اون برای خصوصیت بجز Editor از چه روش دیگه ای می شه استفاده کرد؟!
ROSTAM2
یک شنبه 25 دی 1401, 08:37 صبح
سلام مجدد.
من برای این مورد یک لیست کشویی سفارشی ساختم که قادر به نمایش عنوان Culture طبق خصوصیت DisplayValue هست:
Enum DisplayValues
DisplayName = 0
Name = 1
NativeName = 2
EnglishName = 3
End Enum
حالا اگر بخوام برای یک خصوصیت سفارشی مثل خصوصیت Language از پست شماره 2 این کار روبکنم و مقدار DisplayName برای زبان داشته باشم ومقدار برگشتی CultureInfo باشه باید از چه روشی استفاده کنم آیا؟
Mahmoud.Afrad
شنبه 01 بهمن 1401, 00:35 صبح
cultureinfo پراپرتی به اسم DisplayName دارد. پس لیست cultureinfo ها رو به کنترل(مثلا کمبوباکس) بدید و DisplayName کنترل رو برابر رشته "DisplayName" قرار بدید تا زبان ها نمایش داده بشه.
selecteditem از کمبوباکس ، ایتم انتخابیه که به نوع کلاس دیتاسورس(در اینجا cultureinfo) بایست cast کنید.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.