非常小的问题,大家帮看看。

OnlyVB 2014-06-28 09:29:17
在一个窗体上放一个tabcontrol,dock=fill
tabcontrol有两个选项卡,在第二个选项卡上放一个pictrue,dock=fill,第一个选项卡上有一个button


运行,点击button,获得pictrue的大小
最大化窗体,点击button,获得pictrue的大小与上面的相同

点击一下第二个选项卡,再返回第一个选项卡,点击button,获得pictrue的大小为最大化后的大小

问题:为什么要点击一下第二个选项卡呀,现在需要不点击第二个选项就正确获得窗口最大化后pictrue的大小
...全文
115 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
a3212b12 2014-06-29
  • 打赏
  • 举报
回复
既然第二个选项卡不会同步最大化,而你又只需要最大化的图片框的尺寸,那就变通下,在第一个选项卡添加个picture2,它最大化后的尺寸应该就是你要的尺寸了。当然picture2得hide掉。
tcmakebest 2014-06-29
  • 打赏
  • 举报
回复
其实道理很简单,在picturebox被隐藏的情况下,相当于休眠状态,没必要处理与显示有关的事件. 有一个办法可以相对正确地获取picturebox的大小,就是按照tabPage1的大小,减去一定的边距.
落叶1210 2014-06-29
  • 打赏
  • 举报
回复
如果你想动态获取picture的大小的话,每一个控件都提供了 formsizechanged的事件(名字可能有错误,呵呵),也就是窗体大小改变时,触发的事件,在这里动态获取picture的大小。
OnlyVB 2014-06-28
  • 打赏
  • 举报
回复
引用 1 楼 wangnaisheng 的回复:
你在点击按钮的时候,设置第二个选项卡最大化,并获取那个picture的值就好了。
咋设置? 最大化只是一个例子,就是和窗口变化保持一致,dock=fill,不能使所有的选项卡同步吗?
wangnaisheng 2014-06-28
  • 打赏
  • 举报
回复
你在点击按钮的时候,设置第二个选项卡最大化,并获取那个picture的值就好了。

110,500

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧