- 드래그 & 드롭은 폼에 TableLayoutPanel 및
Fill
에 Dock
스타일을 설정합니다.
- 마지막 행을 제거하고 새 열을 추가하십시오.
- 첫 번째 열과 세 번째 열의 열 스타일/너비를
percent
50%
으로 설정하십시오.
- 두 번째 열의 열 스타일/너비를
absolute
20
으로 설정하십시오.
- & 패널을 첫 번째 및 세 번째 셀로 끌어서
Dock
스타일을 Fill
으로 설정하십시오.
- 필요한 두 가지 컨트롤을이 두 패널 안에 배치하십시오. 또한
, 난 당신이 읽을 제언 SO TLP 렌더링을 개선하는 방법에 게시 한 다음
샘플 양식 :
Public Class Form1
Public Sub New()
Me.InitializeComponent()
End Sub
Private Sub InitializeComponent()
Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel()
Me.Panel1 = New System.Windows.Forms.Panel()
Me.Panel2 = New System.Windows.Forms.Panel()
Me.TableLayoutPanel1.SuspendLayout()
Me.SuspendLayout()
'
'TableLayoutPanel1
'
Me.TableLayoutPanel1.ColumnCount = 3
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20.0!))
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
Me.TableLayoutPanel1.Controls.Add(Me.Panel1, 0, 0)
Me.TableLayoutPanel1.Controls.Add(Me.Panel2, 2, 0)
Me.TableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill
Me.TableLayoutPanel1.Location = New System.Drawing.Point(0, 0)
Me.TableLayoutPanel1.Name = "TableLayoutPanel1"
Me.TableLayoutPanel1.RowCount = 1
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
Me.TableLayoutPanel1.Size = New System.Drawing.Size(682, 260)
Me.TableLayoutPanel1.TabIndex = 1
'
'Panel1
'
Me.Panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.Panel1.Dock = System.Windows.Forms.DockStyle.Fill
Me.Panel1.Location = New System.Drawing.Point(3, 3)
Me.Panel1.Name = "Panel1"
Me.Panel1.Size = New System.Drawing.Size(325, 254)
Me.Panel1.TabIndex = 0
'
'Panel2
'
Me.Panel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.Panel2.Dock = System.Windows.Forms.DockStyle.Fill
Me.Panel2.Location = New System.Drawing.Point(354, 3)
Me.Panel2.Name = "Panel2"
Me.Panel2.Size = New System.Drawing.Size(325, 254)
Me.Panel2.TabIndex = 1
'
'Form1
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(8.0!, 16.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(682, 260)
Me.Controls.Add(Me.TableLayoutPanel1)
Me.Name = "Form1"
Me.Text = "Form1"
Me.TableLayoutPanel1.ResumeLayout(False)
Me.ResumeLayout(False)
End Sub
Friend WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel
Friend WithEvents Panel1 As System.Windows.Forms.Panel
Friend WithEvents Panel2 As System.Windows.Forms.Panel
End Class
을위한 작업처럼 소리 [TableLayoutPanel] (http://msdn.microsoft.com/en-us/library/system.windows.forms.tablelayoutpanel (v = vs.110) .aspx). –
@ Bjørn-RogerKringsjå 먼저 TableLayoutPanel 만 사용해 보았습니다. 그러나 일부 알 수없는 이유로 단일 셀에 여러 컨트롤을 삽입 할 수 없었습니다. –
@ Bjørn-RogerKringsjå, 언급 한 후에 다시 시도했는데 하나의 셀에 여러 컨트롤을 삽입 할 수 없음을 확인할 수 있습니다. 그러나 ** 나는 원래의 질문의 스크린 샷에서 볼 수 있듯이 패널에 컨트롤을 유지 한 다음 TableLayoutPanel의 셀에 모든 패널을 유지하여 원하는 결과를 얻었습니다 **. 하지만, ** 이것이 실제 해결책인지 또는 어떤 단점이 있는지 나는 모른다. ** ** ** ** ** ** 제가 이걸 진행해야한다고 말해 주시겠습니까? 아이디어 주셔서 감사합니다 :) –