窗体最大化按钮,按下后如何控制窗体大小(vb.net)

问题:现在有一个form,并且没有禁止掉“最大化”按钮。但是,当我按下后,不想让窗体全屏(例如:想保持窗体高度,只让宽度改变。为了排版的目的)。我在类似form_Resi... 问题:现在有一个form,并且没有禁止掉“最大化”按钮。但是,当我按下后,不想让窗体全屏(例如:想保持窗体高度,只让宽度改变。为了排版的目的)。我在类似form_Resize()事件中,拿Me.WindowState = FormWindowState.Maximized判断是不行的,实际上窗体已经“画”出来了(即:全屏)。
网上说要重载WndProc()方法,利用消息处理来解决。在vb.net里具体如何使用WndProc(),小弟不清楚。望各位帮帮,谢谢。
展开
 我来答
好几碗粥Ry
2008-12-01 · TA获得超过1173个赞
知道大有可为答主
回答量:1118
采纳率:0%
帮助的人:890万
展开全部
前几天的时候我帮人解决过这个问题,现在又出来了.
在form_Resize()事件 里判断窗口是不是最大化了 就行了,然后在把窗体大小调到自己的指定大小..

下面是我给你写的VB代码( 我没有.net编译器,不过相信你很容易就看懂了,我给你写上注释)
补充:刚才测试时有点小错误,现在更正好了.o(∩_∩)o...

Private kuandu As Long, gaodu As Long

Private Sub Form_Load()
'//将启动窗体的宽 ,高属性 赋值给全局变量
kuandu = Me.Width
gaodu = Me.Height
End Sub

Private Sub Form_Resize()
'//Resize()事件中如果最大化就会出错.错误号是384
On Error GoTo Errhandle
If Me.WindowState = 2 Then
Me.Left = 0
Me.Top = 0
Me.Width = Screen.Width '//只进行宽度变化
Me.Height = gaodu '//高度不变化
End If
Exit Sub
Errhandle:
If Err.Number = "384" Then '.net的我不知道是不是384
Me.WindowState = 0
Me.Left = 0
'Me.Top = 0
Me.Width = Screen.Width '//只进行宽度变化
Me.Height = gaodu '//高度不变化
End If
End Sub
958620991
2008-12-01 · TA获得超过287个赞
知道答主
回答量:31
采纳率:0%
帮助的人:0
展开全部
先点鼠标右键,选择属性。点击设置。那里有个视频分辨率。随你调大调小!

参考资料: 我是自己回答,无需资料。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式