グループボックスを追加するパネルを継承するクラスがあります。このグループボックスには、今のところいくつかのテキストボックスが含まれています。グループボックスのAutoSizeプロパティとグループボックスのPaddingプロパティを使用して、テキストボックスをグループボックス内で水平方向と垂直方向の中央に配置したいと思います。これが私の試みです:
Imports System.Drawing
Public Class pnlItemMstr_A_OSI
Inherits Panel
Public Sub New(ByRef ItemMstr_DS As DataSet, ByVal padding As Integer)
MyBase.New()
Dim drItemMstr As DataRow = ItemMstr_DS.Tables(0)(0)
Dim txtHeight As Integer = 26
' article numbers
Dim grpArtNum As New GroupBox
Dim txtARTC_NUM_DOM_C As New TextBox
Dim txtARTC_NUM_CAN_C As New TextBox
With txtARTC_NUM_DOM_C
.Text = drItemMstr("ARTC_NUM_DOM_C").ToString
.Size = New Size(200, txtHeight)
.Location = New Point(0, 0)
End With
With txtARTC_NUM_CAN_C
.Text = drItemMstr("ARTC_NUM_CAN_C").ToString
.Size = New Size(200, txtHeight)
.Location = New Point(0, txtHeight)
End With
With grpArtNum
grpArtNum.Text = "Article Number"
grpArtNum.Padding = New Padding(padding)
grpArtNum.Controls.Add(txtARTC_NUM_DOM_C)
grpArtNum.Controls.Add(txtARTC_NUM_CAN_C)
End With
Me.Controls.Add(grpArtNum)
End Sub
End Class
私が最終的に得ているのは醜いものであり、私が期待するものではありません。グループボックスのテキストがどのように切り取られているかに注意してください。
パディングが適切に適用されていないようですが、私は何か間違ったことをしていると確信しています。
Paddingプロパティは、主にDock Styledの子コントロールに使用されるため、ドックで埋められたパネルをGroupBoxに追加して、これらのTextBoxを含めてみてください。
With grpArtNum
grpArtNum.Text = "Article Number"
grpArtNum.Padding = New Padding(padding)
Dim innerPanel As New Panel With {.Dock = DockStyle.Fill}
innerPanel.Controls.Add(txtARTC_NUM_DOM_C)
innerPanel.Controls.Add(txtARTC_NUM_CAN_C)
grpArtNum.Controls.Add(innerPanel)
End With
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加