Поделиться через


Элемент управления 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

Dock

Appearance

Новая реализация. Дополнительные сведения см. в разделе Свойства Appearance и BorderStyle (для пользователей Visual Basic 6.0).

AutoRedraw

Новая реализация. Дополнительные сведения см. в разделе Графика для пользователей Visual Basic 6.0.

AutoSize

SizeMode

BackColor

BackColor

zzt5x46b.alert_note(ru-ru,VS.90).gifПримечание.
Обработка цветов отличается в Visual Basic 2008. Дополнительные сведения см. в разделе Действие цветов (для пользователей Visual Basic 6.0).

BorderStyle

BorderStyle

zzt5x46b.alert_note(ru-ru,VS.90).gifПримечание.
В Visual Basic 6.0 значением по умолчанию является Fixed Single; в Visual Basic 2008 значением по умолчанию является None.

ClipControls

Новая реализация. Дополнительные сведения см. в разделе Графика для пользователей Visual Basic 6.0.

Container

Parent

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

Font

zzt5x46b.alert_note(ru-ru,VS.90).gifПримечание.
Обработка шрифтов отличается в Visual Basic 2008. Дополнительные сведения см. в разделе Объект Font (для пользователей Visual Basic 6.0).

ForeColor

ForeColor

zzt5x46b.alert_note(ru-ru,VS.90).gifПримечание.
Обработка цветов отличается в Visual Basic 2008. Дополнительные сведения см. в разделе Действие цветов (для пользователей Visual Basic 6.0).

HasDC

HDC

Новая реализация. Дополнительные сведения см. в разделе Графика для пользователей Visual Basic 6.0.

Height

Height, Size

zzt5x46b.alert_note(ru-ru,VS.90).gifПримечание.
Обработка координат отличается в Visual Basic 2008. Дополнительные сведения см. в разделе Система координат (для пользователей Visual Basic 6.0).

HelpContextID

Новая реализация. Дополнительные сведения см. в разделе Поддержка справки (для пользователей Visual Basic 6.0).

HWnd

Handle

Image

Новая реализация. Дополнительные сведения см. в разделе Графика для пользователей Visual Basic 6.0.

zzt5x46b.alert_note(ru-ru,VS.90).gifПримечание.
В Visual Basic 2008 свойство Image не является графическим. Оно эквивалентно свойству Picture в Visual Basic 6.0.

Index

Новая реализация. Дополнительные сведения см. в разделе Массивы элементов управления для пользователей Visual Basic 6.0.

Left

Left

zzt5x46b.alert_note(ru-ru,VS.90).gifПримечание.
Обработка координат отличается в Visual Basic 2008. Дополнительные сведения см. в разделе Система координат (для пользователей Visual Basic 6.0).

LinkItem

LinkMode

LinkTimeOut

LinkTopic

Эквивалент отсутствует. Дополнительные сведения см. в разделе Динамический обмен данными для пользователей Visual Basic 6.0.

MouseIcon

Новая реализация. Дополнительные сведения см. в разделе Невозможно задать настраиваемый указатель мыши MousePointer.

MousePointer

Cursor

Список констант см. в разделе Свойство MousePointer (для пользователей Visual Basic 6.0).

OLEDragMode

OLEDropMode

Новая реализация. Дополнительные сведения см. в разделе Действие перетаскивания для пользователей Visual Basic 6.0.

Parent

FindForm

Picture

Image

ScaleHeight

ScaleLeft

ScaleMode

ScaleTop

ScaleWidth

Новая реализация. Дополнительные сведения см. в разделе Система координат (для пользователей Visual Basic 6.0).

ToolTipText

Компонент ToolTip

Дополнительные сведения см. в разделе Поддержка подсказок (для пользователей Visual Basic 6.0).

Top

Top

zzt5x46b.alert_note(ru-ru,VS.90).gifПримечание.
Обработка координат отличается в Visual Basic 2008. Дополнительные сведения см. в разделе Система координат (для пользователей Visual Basic 6.0).

WhatsThisHelpID

Новая реализация. Дополнительные сведения см. в разделе Поддержка справки (для пользователей Visual Basic 6.0).

Width

Width, Size

zzt5x46b.alert_note(ru-ru,VS.90).gifПримечание.
Обработка координат отличается в 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

SetBounds

zzt5x46b.alert_note(ru-ru,VS.90).gifПримечание.
Обработка координат отличается в Visual Basic 2008. Дополнительные сведения см. в разделе Система координат (для пользователей Visual Basic 6.0).

OLEDrag

Новая реализация. Дополнительные сведения см. в разделе Действие перетаскивания для пользователей Visual Basic 6.0.

PaintPicture

Point

Print

PSet

Новая реализация. Дополнительные сведения см. в разделе Графика для пользователей Visual Basic 6.0.

Scale

ScaleX

ScaleY

Новая реализация. Дополнительные сведения см. в разделе Система координат (для пользователей Visual Basic 6.0).

SetFocus

Focus

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

DoubleClick

DragDrop

DragOver

Новая реализация. Дополнительные сведения см. в разделе Действие перетаскивания для пользователей Visual Basic 6.0.

GotFocus

Enter

KeyDown

KeyPress

KeyUp

Новая реализация. В Visual Basic 2008 элемент управления PictureBox не является контейнерным элементом управления и не воспринимает нажатие клавиш.

LinkClose

LinkError

LinkNotify

LinkOpen

Эквивалента нет. Дополнительные сведения см. в разделе Динамический обмен данными для пользователей Visual Basic 6.0.

LostFocus

Leave

OLECompleteDrag

OLEDragDrop

OLEDragOver

OLEGiveFeedback

OLESetData

OLEStartDrag

Новая реализация. Дополнительные сведения см. в разделе Действие перетаскивания для пользователей Visual Basic 6.0.

Validate

Validating

Замечания по обновлению

Во время обновления элементы управления PictureBox, содержащие другие элементы управления, обновляются до элементов управления Panel. Для элементов управления Visual Basic 6.0 PictureBox, которые были обновлены до элемента управления Panel, изображения, присвоенные свойству Picture, сопоставляются со свойством BackgroundPicture элемента управления Panel.

См. также

Ссылки

Общие сведения об элементе управления PictureBox (Windows Forms)