-1

ねえ、私は現在、レポートフォームでMAX12txtboxの幅と左の位置を計算する方法を探しています。高さは常に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 txtboxを計算する際のヘルプは、大きな助けになります。: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 に答える