首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在窗体上居中TabControl,在TabControl上设置面板

在窗体上居中TabControl,在TabControl上设置面板
EN

Stack Overflow用户
提问于 2016-10-07 14:49:28
回答 1查看 925关注 0票数 0

在“设计”视图上设置此设置的WindowsForm应用程序:

MainForm.WindowState =最大化

TabControl.Dock =无

ControlPanel(在TabControl中).Dock= None

我需要把TabControl放在表格上,面板放在TabControl上

使用

代码语言:javascript
复制
TabControl.Top = (Me.ClientSize.Height / 2)
TabControl.Left = (Me.ClientSize.Width / 2)

TabControl,它显示在很远的左边和下面。

使用Me.DisplayRectangle.Height /2和Me.DisplayRectangle.Width几乎相同的结果

也曾尝试过

代码语言:javascript
复制
TabControl.Anchor = AnchorStyles.None

就像在一些网站上建议的那样,但是不起作用

使用

代码语言:javascript
复制
TabControl.Top = (Me.ClientSize.Height / 4)
TabControl.Left = (Me.ClientSize.Width / 4)

TabControl看上去更集中..。

有什么问题吗?设计时间设置?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-07 15:19:25

红色表示形状的高度和宽度,蓝色表示这些维度的一半。所以使用1/2是没有意义的。

正确的数学将涉及到选项卡控件的大小。

代码语言:javascript
复制
TabControl1.Top = (Me.ClientSize.Height - TabControl1.Height) \ 2
TabControl1.Left = (Me.ClientSize.Width - TabControl1.Width) \ 2

您可以将其放入表单的调整大小事件和加载中

代码语言:javascript
复制
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    centerTabControlInForm()
End Sub

Private Sub Form1_Resize(sender As Object, e As EventArgs) Handles Me.Resize
    centerTabControlInForm()
End Sub

Private Sub centerTabControlInForm()
    TabControl1.Top = (Me.ClientSize.Height - TabControl1.Height) \ 2
    TabControl1.Left = (Me.ClientSize.Width - TabControl1.Width) \ 2
End Sub

类似地,您可以使用面板相对于选项卡控件执行类似的操作。您还可能希望在窗体调整大小时调整控件的大小,但这超出了您问题的范围.

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39920089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档