-1

嘿,我目前正在寻找一种方法来计算我的报告表单上 MAX 12 txtboxes 的宽度和左侧位置。高度将始终为0.206,顶部将始终为0

这是带有 12 个(最大)txtbox 的代码的样子:

txtData1.Width = 0.7
txtData1.Left = 0

txtData2.Width = 0.7
txtData2.Left = 0.708

txtData3.Width = 0.7
txtData3.Left = 1.416

txtData4.Width = 0.7
txtData4.Left = 2.124

txtData5.Width = 0.7
txtData5.Left = 2.832

txtData6.Width = 0.7
txtData6.Left = 3.54

txtData7.Width = 0.7
txtData7.Left = 4.248

txtData8.Width = 0.7
txtData8.Left = 4.956

txtData9.Width = 0.7
txtData9.Left = 5.664

txtData10.Width = 0.7
txtData10.Left = 6.372

txtData11.Width = 0.7
txtData11.Left = 7.08

txtData12.Width = 0.7
txtData12.Left = 7.788

根据我的计算(我喜欢数学……数学就是不爱我:o))总宽度为8.4 英寸,总宽度为7.788 英寸。工作表宽 8.5 英寸(横向视图)。

布局

所以现在困难的部分开始发挥作用。对于 11 个盒子,宽度会增加一点,左边的位置也会增加,以容纳不再有第 12 个盒子的额外空间。

我正在尝试用最少的代码找到一种很好的方法,因为我知道我可以对每个级别(12 到 2 个文本框)执行与上述相同的操作,但这将是很多代码。

因此,计算剩余 11-2 个 txtboxes 的任何帮助都会有很大帮助!:o)

4

1 回答 1

1

我不确定我是否完全理解你的问题,但我收集到的是你总是希望文本框完全填满 8.5 英寸。

如果是这样的话,我会做如下的事情:

    Dim NumberOfBoxes As Integer = 11 ' Number of textboxes you'll have next to each other
    Dim AssignedWidthPerBox As Double = 8.5 / NumberOfBoxes
    Dim CurrentLeft As Double = 0   ' How Far left you are on your form - Increment this by AssignedWidthPerBox for each textbox

然后通过循环(首选)或手动分配 Textbox 属性,如下所示:

    txtData1.Width = AssignedWidthPerBox
    txtData1.Left = CurrentLeft
    CurrentLeft += AssignedWidthPerBox

希望这可以帮助

于 2012-11-30T14:31:37.287 回答