내가 FlowLayoutPanel처럼 자동 정렬되도록 할 수 있습니다. 하지만 위에있는 이미지를 숨기려면 내 사진이 있기 때문에 사용할 수 없습니다.
투명 배경으로 FlowLayoutPanel
을 사용할 수 있습니다. 따라서 다른 컨트롤은 숨기지 않습니다. 그렇게하는 방법? 음, this answer은 투명하게 만드는 법을 보여줍니다. Panel
. 당신은 쉽게 이런 FlowLayoutPanel
사용하여 뭔가 작동하도록 조정 할 수 있어야한다 :
Public Class TransparentFLP
Inherits FlowLayoutPanel
Protected Overrides ReadOnly Property CreateParams() As System.Windows.Forms.CreateParams
Get
Dim cp As CreateParams = MyBase.CreateParams
cp.ExStyle = cp.ExStyle Or &H20 ''#WS_EX_TRANSPARENT
Return cp
End Get
End Property
Protected Overrides Sub OnPaintBackground(ByVal e As System.Windows.Forms.PaintEventArgs)
''#MyBase.OnPaintBackground(e) --> Don't uncomment this orelse
'it will cause the BackColor to be redrawn.
End Sub
End Class
- 이 프로젝트에 새
Class
를 추가합니다.
- 위 코드를 붙여 넣으십시오.
- 프로젝트를 다시 빌드하십시오.
- 새 컨트롤을 원래
FlowLayoutPanel
대신 도구 상자의 위쪽에서 폼으로 놓습니다.
- 당신은 잘 가야합니다.
P. 네 패널의 사용에 대해서는 잘 모르겠지만 대신 TableLayoutPanel
을 사용해보십시오.
도움이 되길 바랍니다.
'FlowLayoutPanel'은 마법이 아닙니다. 하나를 사용할 때 각각의 자식 컨트롤의 'Location'을 지정할 필요가 없습니다. 왜냐하면 그 자식 컨트롤을 계산할 코드가 포함되어 있기 때문입니다. 만약 당신이'Panel'을 사용하고 있다면 그 안에 포함 된 코드가 없으므로 직접 계산해야합니다. 그 주위에 방법이 없습니다. 당신은'Panel'을 상속 받아 그 코드를 캡슐화 할 수 있습니다.하지만 여전히 코드를 작성해야합니다. – jmcilhinney
@ jmcilhinney - 알았어요. 내 소식을 수정하고 더 명확하게 해드립니다. (더 명확한 방법 ...) – TGamer
필요한 경우 내 디자인의 스크린 샷을 게시 할 예정입니다. – TGamer