Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB .NET > TextWidth в VB.Net


Автор: unica 13.11.2003, 18:37
В VB6 чтобы узнать, например, ширину текста на кнопке использовалась функция TextWidth. А в VB.Net ее нет. confused.gif Как же теперь это сделать?

Автор: cardinal 15.11.2003, 16:08
Попробуй так:
Код
Private Sub Form_Click()
   Dim HalfHeight, HalfWidth, Msg   ' Declare variables.
   
   Dim Parent As Object  ' *
   Set Parent = Me         ' *
   
   AutoRedraw = -1   ' Turn on AutoRedraw.
   BackColor = QBColor(4)   ' Set background color.
   ForeColor = QBColor(15)   ' Set foreground color.
   Msg = "Visual Basic"   ' Create message.
   FontSize = 48   ' Set font size.
   
   HalfWidth = Parent.TextWidth(Msg) / 2    ' *
   
   HalfHeight = TextHeight(Msg) / 2   ' Calculate one-half height.
   CurrentX = ScaleWidth / 2 - HalfWidth   ' Set X.
   CurrentY = ScaleHeight / 2 - HalfHeight   ' Set Y.
   Print Msg   ' Print message.
End Sub

Дело в том, что VB.Net у меня нет и точно сказать я не могу, но предполагаю, что дело в том, что в NET надо TextWidth немного подругому юзовать. Я пометил главные строчки звездочками.
Это только предположение, но может оно тебе поможет. confused.gif

Автор: Guest 15.11.2003, 22:40
Этой функции теперь вообще нету. Как-то надо делать через RectangleF параметр Graphics.DrawString метода, но как - не могу разобраться...

Автор: bivIgor 27.12.2004, 15:59
Для определения размера текста нужно использовать - Graphics.MeasureString

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)