资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

vb.net屏幕自适应的简单介绍

VS2013 VB.NET窗口控件怎么做自适应

窗体在改变大小时会有一个size事件的,在这个事件中写代码获取窗体的高度和宽度再根据窗体的高度和宽度的比例来效果自己的控件的高度宽度比例

公司主营业务:网站设计制作、网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出平桥免费做网站回馈大家。

VB窗体控件自动适应窗体大小

Dim f_size(1) As Long, fist_re As Boolean  '用来存放窗体默认大小 以及 是否第一次初始化,全局变量,可在 模块中public声明

Private Sub Form_Resize()

If Me.WindowState  1 Then '必须排除最小化的状态

If fist_re = False Then '窗体初始化只记录窗体大小

f_size(0) = Me.Height: f_size(1) = Me.Width

fist_re = True

Else '否则开始适应屏幕变化

For Each a In Form1.Controls

On Error Resume Next

a.Width = a.Width * (Me.Width / f_size(1))

a.Height = a.Height * (Me.Height / f_size(0))

a.Top = a.Top * (Me.Height / f_size(0))

a.Left = a.Left * (Me.Width / f_size(1))

Next

f_size(0) = Me.Height: f_size(1) = Me.Width '重新记录窗口大小,用于下次运算

End If

End If

End Sub

''对于一些控件  如listbox的高度不适宜 呵呵

VB控件窗口自适应

Private FormOldWidth As Long

'原始宽度

Private FormOldHeight As Long

'原始高度

'在调用ResizeForm前先调用本函数

Public Sub ResizeInit(FormName As Form)

Dim Obj As Control

FormOldWidth = FormName.ScaleWidth

FormOldHeight = FormName.ScaleHeight

On Error Resume Next

For Each Obj In FormName

Obj.Tag = Obj.Left " " Obj.Top " " Obj.Width " " Obj.Height " "

Next Obj

On Error GoTo 0

End Sub

'按比例改变表单内各元件的大小,

'在调用ReSizeForm前先调用ReSizeInit函数

Public Sub ResizeForm(FormName As Form)

Dim Pos(4) As Double

Dim i As Long, TempPos As Long, StartPos As Long

Dim Obj As Control

Dim ScaleX As Double, ScaleY As Double

ScaleX = FormName.ScaleWidth / FormOldWidth

'保存窗体宽度缩放比例

ScaleY = FormName.ScaleHeight / FormOldHeight

'保存窗体高度缩放比例

On Error Resume Next

For Each Obj In FormName

StartPos = 1

For i = 0 To 4

'读取控件的原始位置与大小

TempPos = InStr(StartPos, Obj.Tag, " ", vbTextCompare)

If TempPos 0 Then

Pos(i) = Mid(Obj.Tag, StartPos, TempPos - StartPos)

StartPos = TempPos + 1

Else

Pos(i) = 0

End If

'根据控件的原始位置及窗体改变大小

'的比例对控件重新定位与改变大小

Obj.Move Pos(0) * ScaleX, Pos(1) * ScaleY, Pos(2) * ScaleX, Pos(3) * ScaleY

Next i

Next Obj

On Error GoTo 0

End Sub

Private Sub Form_Load()

Call ResizeInit(Me) '在装入时必须加入

End Sub

Private Sub Form_Resize()

Call ResizeForm(Me) '控件随之改变

End Sub

请参阅我的博客:

vb.net中怎么可以让窗体全屏显示?

Me.Height = My.Computer.Screen.Bounds.Height

Me.Width = My.Computer.Screen.Bounds.Width

这是设置窗体的长宽和屏幕的分辨率一样大小,相当于全屏。

如果Me.WindowState=FormWindowState.Maximized的话,只是单纯的将窗体最大化,但恢复窗口大小后窗体的大小实际上还和原来一样大。

VB.NET的特点

1.真正成为面向对象以及支持继承性的语言。

2.窗体设计器支持可视化继承,并且包含了许多新的特性,比如自动改变窗体大小、资源本地化支持、数据类工具内在支持XML数据。

3.直接建立在.NET的框架结构上,因此开发人员可以充分利用所有.NET平台特性,也可以与其他的.NET语言交互。

4.为Windows应用程序提供了XCOPY部署,开发者不再需要为DLL的版本问题担忧。


网站标题:vb.net屏幕自适应的简单介绍
本文来源:http://cdkjz.cn/article/phjjge.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220