2012-11-01 3 views
9

컨트롤 사이의 공간을 어떻게 더 줄일 수 있습니까? 여백과 패딩을 모두 0으로 설정했지만 컨트롤러 사이에 공간이 남아 있습니다. FlowLayoutPanel의 컨트롤 사이의 공간 줄이기

flow layout properties

내가 0으로 설정 모든 마진과 패딩 무엇입니까 공간입니다 I도

new spacing

과에 대한 0으로 각 컨트롤러의 마진과 패딩을 설정 여기에 일관성을 위해 PictureBox를 추가하는 코드가 있습니다.

Dim newPic As PictureBox = New PictureBox() 
newPic.Image = p.Image 
newPic.Size = New System.Drawing.Size(New Point(p.Size.Width * 2, 
               p.Size.Height * 2)) 
newPic.SizeMode = p.SizeMode 
laytt.SetToolTip(newPic, ttstring) 
AddHandler newPic.Click, AddressOf LayoutComponent_Clicked 

LayoutFlowLayout.Controls.Add(newPic) 
+1

포함 된 컨트롤의 모든 여백을 0으로 설정하면 충분하지 않습니까? – Neolisk

+0

방금 ​​시도했는데 공간이 줄어들지 만 아직 공간이 남아 있습니다 (2 픽셀?) – Ervin

+0

간격을 표시하는 새 이미지가 추가되었습니다. – Ervin

답변

13

추가 한 그림 상자에 여백 속성을 설정하지 않습니다. 기본값은 3,3,3,3입니다. 이 코드 줄을 추가하여 문제를 해결하십시오.

newPic.Margin = New Padding(0) 
+4

내가 의견에서 제안한 것이 아니며 영업 이익은이를 거부 했습니까? 미친 세상... – Neolisk

4

모든 컨트롤 핸들 m argin은 표준 컨트롤을 사용하더라도 다르게 적용됩니다. 텍스트 상자가 모든 것을 취하면서 Button가, 주위 공간을 보유하고 있음을

enter image description here

주의 사항 :이 예에서보세요. 그 사이에 왜 2 픽셀 씩 볼 수 있는지 물어볼 수 있습니다. 이를 위해 복사/붙여 넣기를 그림과 확대/축소하십시오.이 2 픽셀 실제로 테두리, 컨트롤이 그려집니다 방법입니다. Buttons에도 테두리가 있지만 확대 할 때조차도 시각적으로 정당화하기가 어렵습니다.

변경하려는 경우 사용자 지정 컨트롤을 만들고 테두리를 수동으로 자르는 방법을 재정의해야합니다. 그것 또는 유사품으로부터. 하지만 UI 일관성을 유지하기 위해 권장하지 않습니다.