ctrain 38 ارسال شده در 20 آذر، 2017 اشتراک گذاری ارسال شده در 20 آذر، 2017 سلام دوستان. لابد دیدین که مثلا اگه یه 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 ارسال شده در 9 دی، 2017 اشتراک گذاری ارسال شده در 9 دی، 2017 میشه یه نمونه سورس بدی لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
میلاد 441 ارسال شده در 9 دی، 2017 اشتراک گذاری ارسال شده در 9 دی، 2017 در در 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) & "..." لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.