关于vb中 picturebox和滚动条

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于vb中 picturebox和滚动条相关的知识,希望对你有一定的参考价值。

picture2作容器,里面有picture1(大图autosize , 横竖滚动条),怎么使picture2透明,让底下的picture不被挡住,并且使滚动条不随picture2 的透明而不可见

参考技术A 首先给工程(Project)添加一个OCX控件,单击选单上的工程(Project)选单项,在弹出的下拉选单中点击组件(Components),选中其中的"Microsoft
Common
Dialog
Control
5.0",确定完成加载工作;然后画一个PictureBox,采用VB提供的默认名字Picture1,
再在Picture1上面画一个PictureBox,默认名字为Picture2,注意别忘了设置:Picture2.AutoSize=TRUE;接着,加上水平和垂直滚动条,默认名字分别为:HScroll1,VScroll1;以后加载图形到Picture2上,就可以了;最后,在窗体中引入其它控件:一个按钮(Command),默认名为Command1和一个"Microsoft
Common
Dialog
Control",默认名为CommonDialog1。具体VB代码如下:
Private
Sub
Form-Load()
Picture2.Left
=
0
Picture2.Top
=
0
Picture2.Width
=
Picture1.Width
Picture2.Height
=
Picture1.Height
VScroll1.Min
=
0
HScroll1.Min
=
0
HScroll1.Min
=
0
VScroll1.Max
=
Picture2.Height

Picture1.Height
HScroll1.Max
=
Picture2.Width

Picture1.Width
If
HScroll1.Max

0
Then
HScroll1.Enabled
=
False
If
VScroll1.Max

0
Then
VScroll1.Enabled
=
False
End
Sub
Private
Sub
Command-Click()
On
Error
GoTo
ErrExit
CommonDialog1.Filter
=
"Bitmap
file(*.bmp)|*.bmp|All
File(*.*)|*.*"
CommonDialog1.FilterIndex
=
1
CommonDialog1.ShowOpen
Picture2.Picture
=
LoadPicture(CommonDialog1.filename)
VScroll1.Min
=
0
HScroll1.Min
=
0
VScroll1.Max
=
Picture2.Height

Picture1.Height
HScroll1.Max
=
Picture2.Width

Picture1.Width
If
HScroll1.Max

0
Then
HScroll1.Enabled
=
False
If
VScroll1.Max

0
Then
VScroll1.Enabled
=
False
ErrExit:
End
Sub
Private
Sub
HScroll1-Change()
Picture2.Left
=
-HScroll1.Value
End
Sub
Private
Sub
VScroll1-Change()
Picture2.Top
=
-VScroll1.Value
End
Sub
----
该程序通过点击Command1按钮,在弹出的对话框中选择一个图形文件加载到Picture2中,利用水平和垂直滚动条就可以实现图片的滚动。
满意请采纳。

VB设计里image与picturebox有啥区别?

Image、Shape

Line
控件都被认为是轻量图形控件,也就是说,它们只支持
PictureBox
的属性、方法和事件的一个子集。因此,它们需要较少的系统资源而且加载也比
PictureBox
控件更快。

Image
控件代替
PictureBox
Image
控件与
PictureBox
控件相似,但它只用于显示图片。它不能作为其它控件的容器,也不支持
PictureBox
的高级方法。
图片加载于
Image
控件的方法和它们加载于
PictureBox
中的方法一样。设计时,将
Picture
属性设置为文件名和路径,运行时,利用
Loadpicture
函数。
Image
控件调整大小的行为与
PictureBox
不同。它具有
Stretch
属性,而
PictureBox
具有
AutoSize
属性。将
AutoSize
属性设为
True
可使
PictureBox
根据图片调整大小,设为
False
则图片将被剪切(只有一部分图片可见)。Stretch
属性设为
False(缺省值)时,Image
控件可根据图片调整大小。将
Stretch
属性设为
True
将根据
Image
控件的大小来调整图片的大小,这可能使图片变形。
详细信息
关于
Image
控件的详细信息,请参阅“使用
Visual
Basic's
的标准控件”。
使用
Image
控件创建自己的按钮
Image
控件也可以识别
Click
事件,因此可在要用
CommandButton
的任何地方使用该控件。这种方法可以方便地建立有图片的按钮来取代标题。将几个
Image
控件组成一组,水平置于屏幕顶端(通常在一个
PictureBox
中),可以在应用程序中建立一个
ToolBar。
例如,对
Test
Buttons一
例给出的
Image
控件
,用户可以象选择
CommandButton
一样来选择它。窗体第一次被显示时,控件显示
Visual
Basic
的图标库中三个交通图标中的一个。每单击
Image
控件一次,就显示一个不同的图标。(该例的工作版本,请参阅
Controls.vbp
示例应用程序中的
Button.frm
。)
如果设计时观察一下窗体,就会发现它实际包含所有三个图标,它们堆集在一起。改变顶部
Image
控件的
Visible
属性为
False,下一幅图象(如果其
Visible
属性为真)将显示于顶部。

3.17
为一个交通图标的
Image
控件
(Trffc10a.ico)。

3.17
有一个交通图标的
Image
控件
要在
Image
控件的周围建立一个边框,将
BorderStyle
属性设为
1—
固定的单边框。
注意

CommandButton
不同,单击
Image
控件时,并不显示它被按下的动作。也就是说除非在
MouseDown
事件中改变位图,否则“按钮”正在被按下对用户来说是看不到的。
详细信息
关于在
Image
控件中显示图形图象的详细信息,请参阅“使用
Visual
Basic
的标准控件”。
使用
Shape
控件和
Line
控件
Shape

Line
控件可用来在窗体表面画图形元素。这些控件不支持任何事件,只用于表面装饰。
有几种属性可以控制
Shape
控件的外观。通过设置
Shape
属性,Shape
控件可显示为矩形、正方形、椭圆型、圆角矩形或圆角正方形。设置
BorderColor

FillColor
属性可以改变颜色,BorderStyle、BorderWidth、FillStyle

DrawMode
属性控制如何画图。
Line
控件与
Shape
控件相似,但仅用于画线。
详细信息
关于
Shape

Line
控件的附加信息,请参阅“使用
Visual
Basic
的标准控件”。
参考技术A 图片框picturebox和图像框imagebox的区别在于:
1-imagebox使用系统资源少,重新绘图的数度较快
2-picturebox只能使用print方法和绘图语句绘制图形,imagebox则不能
3-imagebox只能用于显示图片,而picturebox除了可以显示图形外,还可以作为其他控件的容器,可以利用剪切板给picturebox添加图形
4-imagebox能够延伸图形的大小,以适应控件的大小,而picturebox则不能,但picturebox能自动调整控件大小以全图形显示出来
参考技术B picturebox控件是一个容器,里面还可以放其他的控件,占用系统资源多,与窗体实质上是一样的。
image控件是一个轻量级的控件,占用系统资源很少,只能显示图片,有很多窗体级的属性都没有。本回答被提问者采纳
参考技术C PictureBox 控件和 Image 控件相似,每个控件都可用来显示应用程序中的图形;每个都支持相同的图形格式。
但是,PictureBox 控件包含了 Image 控件不具有的功能,例如:作为其它控件的容器的功能和支持图形方法(如绘图,打印)的功能。
参考技术D 同意VB妮可的说法.
要对他说的补充一下,Image控件可以用Stretch属性来控制图片的大小,即可以让图片适应Image的大小,也可以让Image来适应图片的大小.
但PictureBox就没有这样的功能了.

以上是关于关于vb中 picturebox和滚动条的主要内容,如果未能解决你的问题,请参考以下文章

VB如何为picturebox加滚动条?

VB里的 RichTextBox 滚动条

C#窗体滚动条问题

picturebox增加滚动条

C# picturebox显示滚动条问题求解

如何在 Picturebox 上获得滚动条