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?Sub
''对于一些控件?如listbox的高度不适宜?呵呵
使用SplitContainer1控件不就行了,SplitContainer1控件的Fixedpanel属性设置为Panel1
二个SplitContainer设置为水平折为器方向
播放器控件DOCK设置为FILL
这样不管放大缩小界面,播放器控件总是自适应窗体大小而菜单按钮总是在最边缘
Public Class Form1
Dim 初始化控件自动大小调整与窗口的宽度比例 As Integer
Dim 初始化控件自动大小调整与窗口的高度比例 As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
初始化控件自动大小调整与窗口的宽度比例 = Me.Width / 控件自动大小调整.Width
初始化控件自动大小调整与窗口的高度比例 = Me.Height / 控件自动大小调整.Height
显示控件的位置坐标()
End Sub
Private Sub Form1_ResizeEnd(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.ResizeEnd
' Form1_ResizeEnd? 这个事件是 窗口大小变化完成后 再进行操作的
控件自动大小调整.Location = New Point(控件自动大小调整.Left, 控件自动大小调整.Top)
'设置控件的初始左位置坐标? 与? 上位置坐标
控件自动大小调整.Size = New Point(Int(Me.Width / 初始化控件自动大小调整与窗口的宽度比例), Int(Me.Height / 初始化控件自动大小调整与窗口的高度比例))
'更改控件的大小? 按第一次窗口的比例 进行调整
Private Sub 显示控件的位置坐标()
Label1.Text = "控件的上边距坐标: " 控件自动大小调整.Top
End Class
还有好多方法? 慢慢研究吧兄弟 希望能帮到你
Me.Height = My.Computer.Screen.Bounds.Height
Me.Width = My.Computer.Screen.Bounds.Width
这是设置窗体的长宽和屏幕的分辨率一样大小,相当于全屏.
如果Me.WindowState=FormWindowState.Maximized的话,只是单纯的将窗体最大化,但恢复窗口大小后窗体的大小实际上还和原来一样大.
VB.NET的特点
①真正成为面向对象以及支持继承性的语言.
窗体在改变大小时会有一个size事件的,在这个事件中写代码获取窗体的高度和宽度再根据窗体的高度和宽度的比例来效果自己的控件的高度宽度比例
vb.net设置一个窗体为,宽度不能调节,而高度可以调节,
代码设置方法:
Dim form_width As Integer = Me.Width
Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
If Me.Width form_width Then
Me.Width = form_width
'Debug.Print(TimeString "-" CStr(Me.Width))
End If
vb.net,即Visual Basic.NET是基于微软.NET Framework之上的面向对象的编程语言.其在调试时是以解释型语言方式运作,而输出为EXE程序是是以编译型语言方式运作.可以看作是Visual Basic在.Net Framework平台上的升级版本,增强了对面向对象的支持.
以上就是土嘎嘎小编为大家整理的关于vb.net窗体自适应的信息相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!