Элемент управления PictureBox для пользователей Visual Basic 6.0
Обновлен: Ноябрь 2007
Элемент управления PictureBox в Visual Basic 6.0 заменяется элементом управления PictureBox Windows Forms в Visual Basic 2008. Имена некоторых свойств, методов, событий и констант различаются, а в некоторых случаях имеется различие в их поведении.
Концептуальные различия
Элемент управления PictureBox в качестве контейнера
Элемент управления Visual Basic 6.0 PictureBox представляет собой контейнерный элемент управления. Кроме отображения изображений он может использоваться для группировки и отображения других элементов управления.
Элемент управления PictureBox в Visual Basic 2008 не является контейнерным элементом управления. Он используется только для отображения изображений. Новый элемент Panel можно использовать вместо элемента управления PictureBox в том случае, когда необходим контейнерный элемент управления.
Свойство AutoSize
В Visual Basic 6.0 свойство AutoSize используется для указания на то, должен ли элемент управления PictureBox сохранять размеры, заданные на этапе разработки (AutoSize = False) или изменяться в размере в соответствии с размерами изображения (AutoSize = True).
В Visual Basic 2008 вместо свойства AutoSize используется свойство SizeMode. Кроме режимов Normal и AutoSize изображение может также выравниваться по центру, растягиваться или увеличиваться.
Графические свойства и методы
В Visual Basic 6.0 для рисования на элементе управления PictureBox линий, фигур и текста могут использоваться различные графические методы и свойства.
В Visual Basic 2008 элементы управления лишены графических свойств и методов. Однако рисование на элементе управления PictureBox возможно с помощью объекта T:System.Drawing.Graphics. Дополнительные сведения см. в разделе Графика для пользователей Visual Basic 6.0.
Другие различия
Дополнительно имеется множество концептуальных различий, применяемых ко всем элементам управления, включая различия в привязке данных, обработке шрифтов, функциональных возможностях перетаскивания, поддержке справки и т. д. Дополнительные сведения см. в разделе Концепции форм Windows Forms (для пользователей Visual Basic 6.0).
Изменения кода для элемента управления PictureBox
Следующие примеры иллюстрируют различия в методах кодирования между Visual Basic 6.0 и Visual Basic 2008.
Изменения кода для отображения изображения
В следующем примере кода демонстрируется способ отображения изображения в элементе управления PictureBox во время выполнения:
' Visual Basic 6.0
Picture1.Picture = LoadPicture(App.Path & "\somepicture.jpg")
' Visual Basic
PictureBox1.Image = System.Drawing.Bitmap.FromFile( _
My.Application.Info.DirectoryPath & "\somepicture.jpg")
Изменения кода для создания элемента управления PictureBox
В следующем примере кода демонстрируется способ очистки элемента управления PictureBox во время выполнения:
' Visual Basic 6.0
Picture1.Picture = LoadPicture("")
' Visual Basic
If Not (PictureBox1.Image Is Nothing) Then
PictureBox1.Image.Dispose()
PictureBox1.Image = Nothing
End If
Изменения кода для рисования на элементе управления PictureBox
В следующем примере кода демонстрируется способ рисования красного круга диаметром 40 точек в центре элемента управления PictureBox во время выполнения:
' Visual Basic 6.0
Private Sub Picture1_Paint
Dim x As Integer
Dim y As Integer
Picture1.ScaleMode = vbPixels
x = Picture1.ScaleWidth / 2
y = Picture1.ScaleHeight / 2
Picture1.Circle (x, y), 20, vbRed
End Sub
' Visual Basic
Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e _
As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
Dim radius As Integer = 20
Dim diameter As Integer = radius * 2
Dim x As Integer = (PictureBox1.Width / 2) - radius
Dim y As Integer = (PictureBox1.Height / 2) - radius
e.Graphics.DrawEllipse(Pens.Red, x, y, diameter, diameter)
End Sub
Эквиваленты свойств, методов и событий элемента управления PictureBox
В следующей таблице приведен список свойств, методов и событий Visual Basic 6.0 с их эквивалентами в Visual Basic 2008. Свойства, методы и события, имена и поведение которых остались без изменения, не указываются. Константы, если используются, расположены под свойством или методом с отступом. Если не указано иное, все перечисления Visual Basic 2008 сопоставлены пространству имен System.Windows.Forms.
В этой таблице содержатся ссылки на разделы, в которых объясняются различия в поведении. Если нет прямого эквивалента в Visual Basic 2008, приводятся ссылки на разделы, содержащие альтернативные решения.
Свойства
Visual Basic 6.0 |
Эквивалент Visual Basic 2008 |
---|---|
Align |
|
Appearance |
Новая реализация. Дополнительные сведения см. в разделе Свойства Appearance и BorderStyle (для пользователей Visual Basic 6.0). |
AutoRedraw |
Новая реализация. Дополнительные сведения см. в разделе Графика для пользователей Visual Basic 6.0. |
AutoSize |
|
BackColor |
Примечание.
Обработка цветов отличается в Visual Basic 2008. Дополнительные сведения см. в разделе Действие цветов (для пользователей Visual Basic 6.0).
|
BorderStyle |
Примечание.
В Visual Basic 6.0 значением по умолчанию является Fixed Single; в Visual Basic 2008 значением по умолчанию является None.
|
ClipControls |
Новая реализация. Дополнительные сведения см. в разделе Графика для пользователей Visual Basic 6.0. |
Container |
|
CurrentX CurrentY |
Новая реализация. Дополнительные сведения см. в разделе Графика для пользователей Visual Basic 6.0. |
DataChanged DataField DataFormat DataMember DataSource |
Новая реализация. Дополнительные сведения см. в разделе Доступ к данным для пользователей Visual Basic 6.0. |
DragIcon DragMode |
Новая реализация. Дополнительные сведения см. в разделе Действие перетаскивания для пользователей Visual Basic 6.0. |
DrawMode DrawStyle DrawWidth FillColor FillStyle |
Новая реализация. Дополнительные сведения см. в разделе Графика для пользователей Visual Basic 6.0. |
Font FontBold FontItalic FontName FontSize FontStrikethrough FontUnderline |
Примечание.
Обработка шрифтов отличается в Visual Basic 2008. Дополнительные сведения см. в разделе Объект Font (для пользователей Visual Basic 6.0).
|
ForeColor |
Примечание.
Обработка цветов отличается в Visual Basic 2008. Дополнительные сведения см. в разделе Действие цветов (для пользователей Visual Basic 6.0).
|
HasDC HDC |
Новая реализация. Дополнительные сведения см. в разделе Графика для пользователей Visual Basic 6.0. |
Height |
Примечание.
Обработка координат отличается в Visual Basic 2008. Дополнительные сведения см. в разделе Система координат (для пользователей Visual Basic 6.0).
|
HelpContextID |
Новая реализация. Дополнительные сведения см. в разделе Поддержка справки (для пользователей Visual Basic 6.0). |
HWnd |
|
Image |
Новая реализация. Дополнительные сведения см. в разделе Графика для пользователей Visual Basic 6.0.
Примечание.
В Visual Basic 2008 свойство Image не является графическим. Оно эквивалентно свойству Picture в Visual Basic 6.0.
|
Index |
Новая реализация. Дополнительные сведения см. в разделе Массивы элементов управления для пользователей Visual Basic 6.0. |
Left |
Примечание.
Обработка координат отличается в Visual Basic 2008. Дополнительные сведения см. в разделе Система координат (для пользователей Visual Basic 6.0).
|
LinkItem LinkMode LinkTimeOut LinkTopic |
Эквивалент отсутствует. Дополнительные сведения см. в разделе Динамический обмен данными для пользователей Visual Basic 6.0. |
MouseIcon |
Новая реализация. Дополнительные сведения см. в разделе Невозможно задать настраиваемый указатель мыши MousePointer. |
MousePointer |
Список констант см. в разделе Свойство MousePointer (для пользователей Visual Basic 6.0). |
OLEDragMode OLEDropMode |
Новая реализация. Дополнительные сведения см. в разделе Действие перетаскивания для пользователей Visual Basic 6.0. |
Parent |
|
Picture |
|
ScaleHeight ScaleLeft ScaleMode ScaleTop ScaleWidth |
Новая реализация. Дополнительные сведения см. в разделе Система координат (для пользователей Visual Basic 6.0). |
ToolTipText |
Компонент ToolTip Дополнительные сведения см. в разделе Поддержка подсказок (для пользователей Visual Basic 6.0). |
Top |
Примечание.
Обработка координат отличается в Visual Basic 2008. Дополнительные сведения см. в разделе Система координат (для пользователей Visual Basic 6.0).
|
WhatsThisHelpID |
Новая реализация. Дополнительные сведения см. в разделе Поддержка справки (для пользователей Visual Basic 6.0). |
Width |
Примечание.
Обработка координат отличается в Visual Basic 2008. Дополнительные сведения см. в разделе Система координат (для пользователей Visual Basic 6.0).
|
Методы
Visual Basic 6.0 |
Эквивалент Visual Basic 2008 |
---|---|
Circle Cls |
Новая реализация. Дополнительные сведения см. в разделе Графика для пользователей Visual Basic 6.0. |
Drag |
Новая реализация. Дополнительные сведения см. в разделе Действие перетаскивания для пользователей Visual Basic 6.0. |
Line |
Новая реализация. Дополнительные сведения см. в разделе Графика для пользователей Visual Basic 6.0. |
LinkExecute LinkPoke LinkRequest LinkSend |
Эквивалента нет. Дополнительные сведения см. в разделе Динамический обмен данными для пользователей Visual Basic 6.0. |
Move |
Примечание.
Обработка координат отличается в Visual Basic 2008. Дополнительные сведения см. в разделе Система координат (для пользователей Visual Basic 6.0).
|
OLEDrag |
Новая реализация. Дополнительные сведения см. в разделе Действие перетаскивания для пользователей Visual Basic 6.0. |
PaintPicture Point PSet |
Новая реализация. Дополнительные сведения см. в разделе Графика для пользователей Visual Basic 6.0. |
Scale ScaleX ScaleY |
Новая реализация. Дополнительные сведения см. в разделе Система координат (для пользователей Visual Basic 6.0). |
SetFocus |
|
ShowWhatsThis |
Новая реализация. Дополнительные сведения см. в разделе Поддержка справки (для пользователей Visual Basic 6.0). |
TextHeight TextWidth |
Новая реализация. Дополнительные сведения см. в разделе Графика для пользователей Visual Basic 6.0. |
ZOrder |
Метод BringToFront или SendToBack |
События
Visual Basic 6.0 |
Эквивалент Visual Basic 2008 |
---|---|
Change |
Новая реализация. Существует несколько отдельных событий (BackgroundImageChanged, SizeChanged и т. д.), которые возникают при изменении некоторых свойств. |
DblClick |
|
DragDrop DragOver |
Новая реализация. Дополнительные сведения см. в разделе Действие перетаскивания для пользователей Visual Basic 6.0. |
GotFocus |
|
KeyDown KeyPress KeyUp |
Новая реализация. В Visual Basic 2008 элемент управления PictureBox не является контейнерным элементом управления и не воспринимает нажатие клавиш. |
LinkClose LinkError LinkNotify LinkOpen |
Эквивалента нет. Дополнительные сведения см. в разделе Динамический обмен данными для пользователей Visual Basic 6.0. |
LostFocus |
|
OLECompleteDrag OLEDragDrop OLEDragOver OLEGiveFeedback OLESetData OLEStartDrag |
Новая реализация. Дополнительные сведения см. в разделе Действие перетаскивания для пользователей Visual Basic 6.0. |
Validate |
Замечания по обновлению
Во время обновления элементы управления PictureBox, содержащие другие элементы управления, обновляются до элементов управления Panel. Для элементов управления Visual Basic 6.0 PictureBox, которые были обновлены до элемента управления Panel, изображения, присвоенные свойству Picture, сопоставляются со свойством BackgroundPicture элемента управления Panel.
См. также
Ссылки
Общие сведения об элементе управления PictureBox (Windows Forms)