Система координат (для пользователей Visual Basic 6.0)
Обновлен: Ноябрь 2007
Координаты форм и элементов управления в версии Visual Basic 2008 выражаются иначе, чем в Visual Basic 6.0; методы изменения размера и перемещения форм также отличаются.
Концептуальные различия
В Visual Basic 6.0 координаты форм и элементов управления выражаются в твипах. В Visual Basic 2008 координаты выражаются в точках.
Свойства Height и Width
В Visual Basic 6.0 для изменения размера формы или элемента управления используются свойства Height и Width. В Visual Basic 2008 введено свойство Size, которое также позволяет изменять высоту и ширину одним действием.
Метод Move
В Visual Basic 6.0 для изменения положения формы или элемента управления во время выполнения используется метод Move. В Visual Basic 2008, метод Move заменен методом SetBounds и координаты выражаются в точках.
Свойство ScaleMode
В Visual Basic 6.0 существует также свойство ScaleMode, с помощью которого можно определить иную систему координат. В Visual Basic 2008 поддерживается только одна система координат — на основе точек. Свойство ScaleMode и связанные с ним свойства и методы (Scale, ScaleHeight, ScaleLeft, ScaleTop, ScaleWidth, ScaleX, ScaleY) в версии Visual Basic 2008 не поддерживаются. Дополнительные сведения см. в разделе Режим ScaleMode не поддерживается.
Изменение кода для работы с координатами
В следующем коде показаны различия в методах программирования между Visual Basic 6.0 и Visual Basic 2008.
Изменение размера формы
В следующем примере показано, как изменять размер формы во время выполнения.
' Visual Basic 6.0
' Measurements are in twips.
Me.Width = 8000
Me.Height = 6000
' Visual Basic
' Measurements are in pixels.
Me.Size = New System.Drawing.Size(640, 480)
Перемещение элемента управления
В следующем примере показано, как перемещать элемент управления во время выполнения.
' Visual Basic 6.0
' Move and retain original size.
CommandButton2.Move 2000, 1000
' Move and resize to 1200 by 800 twips.
CommandButton1.Move 0, 0, 1200, 800
' Visual Basic
' Move and retain original size.
Button2.SetBounds(20, 10, 0, 0, BoundsSpecified.X Or BoundsSpecified.Y)
' Move and resize to 120 by 80 pixels.
Button1.SetBounds(0, 0, 120, 80)
Замечания по обновлению
При обновлении приложения Visual Basic 6.0 до приложения Visual Basic 2008 значения свойств Height и Width форм и элементов управления автоматически преобразуются в точки.
Если в исходном приложении использовалось свойство ScaleMode, то средство обновления исходит из того, что в свойстве ScaleMode во время разработки были установлены в качестве единиц твипы; в противном случае преобразование будет неверным и потребуется внести изменения. Дополнительные сведения см. в разделе Режим ScaleMode не поддерживается.
См. также
Основные понятия
Объект Form для пользователей Visual Basic 6.0
Другие ресурсы
Элементы управления Windows Forms (для пользователей Visual Basic 6.0)
Изменения в свойствах, методах и событиях элементов управления для пользователей Visual Basic 6.0