在“设计”视图中具有此设置的WindowsForm应用程序:
MainForm.WindowState =最大化
TabControl.Dock =无
ControlPanel(在TabControl内).Dock =无
我需要将TabControl放在Form上的TabControl和TabControl上的Panel
使用
TabControl.Top = (Me.ClientSize.Height / 2)
TabControl.Left = (Me.ClientSize.Width / 2)
TabControl显示在左侧和远下方。
使用Me.DisplayRectangle.Height / 2和Me.DisplayRectangle.Width几乎相同的结果
还尝试了
TabControl.Anchor = AnchorStyles.None
正如某些网站上所建议但没有工作
使用
TabControl.Top = (Me.ClientSize.Height / 4)
TabControl.Left = (Me.ClientSize.Width / 4)
TabControl看起来更集中......
有什么不对?设计时间的设置?
答案 0 :(得分:2)
红色表示表格的高度和宽度,蓝色表示这些尺寸的一半。所以使用1/2是没有意义的。
正确的数学将涉及tabcontrol的大小
TabControl1.Top = (Me.ClientSize.Height - TabControl1.Height) \ 2
TabControl1.Left = (Me.ClientSize.Width - TabControl1.Width) \ 2
您可以将其放在表单的resize事件中并加载
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
同样,您可以使用相对于选项卡控件的面板执行类似的操作。您可能还希望在表单调整大小时调整控件的大小,但这不在您的问题范围内......