是否可以将控件锚定到另一个控件?

时间:2011-08-28 18:30:43

标签: vb.net user-interface .net-4.0 controls anchor

是否可以将控件锚定到另一个控件?

让我们说我希望我的Button1能够保持与Textbox1控件的4px距离而不需要 使用FlowLayoutTable控件?

"Why would be this advantageous?" - one could ask

好吧,假设你有一个带有垂直分割器的SplitContainer,你有文本框
在SplitContainer.Panel1中,它们左右固定,但最大尺寸为
宽度小于您允许的SplitContainer.Panel1的宽度(可能是
因为您希望文本显示在那里或因为需要额外填充或其他任何内容,您可以将其命名为

现在假设你在Textbox1旁边也有一个按钮,你不希望Textbox1为
Button1重叠,因为它延伸到远。

如果我想让我的文本框以一种为它留下空间的方式填充SplitContainer.Panel1 Button1控制,而他们两个都固定在右边,我该怎么做?

2 个答案:

答案 0 :(得分:7)

我广泛使用TableLayoutPanels和FlowLayoutPanel来完成此任务。对于您的具体情况,我会使用一个TableLayoutPanel,每个TextBox有三列和一行。

第1列:自动宽度,包含全部带有AutoSize = True的标签 第2列:100%宽度,包含所有Anchor = Left, Right的文本框 第3列:自动宽度,包含相应行中的按钮。

接下来,我设置了除按钮旁边的文本框ColumnSpan = 2之外的所有文本框。然后将TableLayoutPanel放入SplitPanel并设置Dock = Fill

答案 1 :(得分:0)

它将是一个实时的序列,应该从左边流出并继续工作让右侧应该布局。

  1. 应提供列表项安全护理。
  2. 列出项目应提供此方法中使用的所有内容并进行检查;