ctrain 38 ارسال شده در 29 شهریور، ۱۳۹۶ اشتراک گذاری ارسال شده در 29 شهریور، ۱۳۹۶ سلام دوستان. لابد دیدین که مثلا اگه یه label دارین متن اون شاید از لیبل بیشتر باشه و بقیش زیر لیبل نمایش داده شه و شما نمیبیننش. اینجوری یه حالت زشتی پیدا میکنه و زیاد جالب نیست. با این تابع شما میتونید هرچقدر متن اضافی اومده رو نمایش ندید و بجاش از سه نقطه (...) استفاده کنین. حتماً این مورد رو در خیلی از برنامه ها دیدین. خب برای مثال ما یه لیبل داریم : label1.text = "Matne Toolani" کافیه این تابع رو به هرجای پروژتون که صلاح دیدین اضافه کنین : Sub TextCutter(Label As Label) As String Dim thetext As String = Label.Text Dim strutls As StringUtils Dim valueheight As Int = strutls.MeasureMultilineTextHeight(Label,Label.Text) If valueheight > Label.Height Then Dim strvalue As String = Label.Text For jj=1 To 9999 If valueheight < Label.Height Then thetext = strvalue.SubString2(0,strvalue.Length - 3) & " ..." Return thetext Exit Else strvalue = strvalue.SubString2(0,strvalue.Length - jj) valueheight = strutls.MeasureMultilineTextHeight(Label,strvalue) End If Next Else Return thetext End If End Sub و طبق مثال بالا اینجوری استفاده کنین : label1.text = TextCutter(label1) خودش میبینه اگه تو دستگاهی که الان درحال نمایشه متن کامله تغییری نمیده ولی اگه بزرگتر بود کوتاهش میکنه و بجاش سه تا نقطه میذاره. راستی حتماً کتابخانه ی StringUtils رو فعال کنید. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
danial1369 102 ارسال شده در 17 مهر، ۱۳۹۶ اشتراک گذاری ارسال شده در 17 مهر، ۱۳۹۶ میشه یه نمونه سورس بدی لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
میلاد 441 ارسال شده در 17 مهر، ۱۳۹۶ اشتراک گذاری ارسال شده در 17 مهر، ۱۳۹۶ در در 1396/06/29, 22:12:48، ctrain گفته است : سلام دوستان. لابد دیدین که مثلا اگه یه label دارین متن اون شاید از لیبل بیشتر باشه و بقیش زیر لیبل نمایش داده شه و شما نمیبیننش. اینجوری یه حالت زشتی پیدا میکنه و زیاد جالب نیست. با این تابع شما میتونید هرچقدر متن اضافی اومده رو نمایش ندید و بجاش از سه نقطه (...) استفاده کنین. حتماً این مورد رو در خیلی از برنامه ها دیدین. خب برای مثال ما یه لیبل داریم : label1.text = "Matne Toolani" کافیه این تابع رو به هرجای پروژتون که صلاح دیدین اضافه کنین : Sub TextCutter(Label As Label) As String Dim thetext As String = Label.Text Dim strutls As StringUtils Dim valueheight As Int = strutls.MeasureMultilineTextHeight(Label,Label.Text) If valueheight > Label.Height Then Dim strvalue As String = Label.Text For jj=1 To 9999 If valueheight < Label.Height Then thetext = strvalue.SubString2(0,strvalue.Length - 3) & " ..." Return thetext Exit Else strvalue = strvalue.SubString2(0,strvalue.Length - jj) valueheight = strutls.MeasureMultilineTextHeight(Label,strvalue) End If Next Else Return thetext End If End Sub و طبق مثال بالا اینجوری استفاده کنین : label1.text = TextCutter(label1) خودش میبینه اگه تو دستگاهی که الان درحال نمایشه متن کامله تغییری نمیده ولی اگه بزرگتر بود کوتاهش میکنه و بجاش سه تا نقطه میذاره. راستی حتماً کتابخانه ی StringUtils رو فعال کنید. خسته نباشی دلاور با یه خط کد میتونستی این کارو انجام بدی lblUser.Text = STRING.SubString2(0,9) & "..." لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.