.NET将控件停靠到另一个控件

时间:2014-04-14 23:14:22

标签: vb.net controls docking

无法将一个控件停靠到另一个控件,是吗?

例如,如果您有选项

"Hide application after" "(COMBOBOX)" "minutes"
在你的申请中

......

"隐藏申请后"是一个标签,然后是一个组合框,让用户选择一个小数值,然后来#34;分钟"标签

我发现正确设置这3个项目的大小有点困难。 但是,e。 G。 Thunderbird管理得很好。我想知道我是否必须在VB.NET中使用自定义编码,或者是否有自动方法来执行此操作。

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用FlowLayoutPanel控件来容纳三个控件,并允许它们从一个控件读取到另一个控件:

Protected Overrides Sub OnLoad(e As EventArgs)
  MyBase.OnLoad(e)

  flp.WrapContents = False
  flp.Controls.Add(New Label() With {.Text = "Hide Application After",
                                     .AutoSize = True,
                                     .Margin = New Padding(0, 6, 0, 0)})
  Dim cb As New ComboBox
  cb.DropDownStyle = ComboBoxStyle.DropDownList
  cb.Items.AddRange(New Object() {10, 20, 30})
  cb.Width = 42
  cb.SelectedIndex = 1
  flp.Controls.Add(cb)

  flp.Controls.Add(New Label() With {.Text = "Minutes",
                                     .AutoSize = True,
                                     .Margin = New Padding(0, 6, 0, 0)})
End Sub

结果:

enter image description here