سلام به همه
برای مثال توی richbox ده حرف رو انتخاب ميکنين چجوری ميشه اين طول رو به پيکسل يا هرچيز ديگه ايی تبديل کرد
من يادمه که برايه اين کار يه دستوری هست هرچی هم که گشتم گير نيوردم
Printable View
سلام به همه
برای مثال توی richbox ده حرف رو انتخاب ميکنين چجوری ميشه اين طول رو به پيکسل يا هرچيز ديگه ايی تبديل کرد
من يادمه که برايه اين کار يه دستوری هست هرچی هم که گشتم گير نيوردم
سوال شما رو با یک مثال کامل پاسخ میدم.
یک پروژه جدید ایجاد کرده و روی فرم جدید یک کنترل Button و یک TextBox و یک Label و یک ComboBox قرار دهید.
می خواهیم تا با کلیک کردن کنترل Button توسط کاربر، طول متنی رو که داخل تکست باکس انتخاب شده است رو در کنترل Label نمایش دهیم. ( با واحد دلخواه)
کد زیر را در بخش کد ادیتور وارد کن:
کد:Public Class Form1
Dim FontUnit As New GraphicsUnit
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Dim MyFont As New Font(TextBox1.Font.Name, TextBox1.Font.Size, TextBox1.Font.Style,
FontUnit)
Label1.Text = "Selected Text Width is : " & _
Int(Me.CreateGraphics.MeasureString(TextBox1.SelectedText, MyFont).Width) _
& " " & Me.ComboBox1.Text
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
Me.ComboBox1.Items.Clear()
Me.ComboBox1.Items.Add("Document")
Me.ComboBox1.Items.Add("Inch")
Me.ComboBox1.Items.Add("Millimeter")
Me.ComboBox1.Items.Add("Pixel")
Me.ComboBox1.Items.Add("Point")
Me.ComboBox1.Items.Add("World")
Me.ComboBox1.SelectedIndex = 0
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Select Case Me.ComboBox1.SelectedIndex
Case 0 : FontUnit = GraphicsUnit.Document
Case 1 : FontUnit = GraphicsUnit.Inch
Case 2 : FontUnit = GraphicsUnit.Millimeter
Case 3 : FontUnit = GraphicsUnit.Pixel
Case 4 : FontUnit = GraphicsUnit.Point
Case 5 : FontUnit = GraphicsUnit.World
Case Else : FontUnit = GraphicsUnit.Document
End Select
End Sub
End Class
خيلی ممنون مشکلمو حل کردی