2011-12-29 3 views
5

방금 ​​WeifenLuo(Dock Panel Suite)을 다운로드했으며이를 사용하려고했지만 사용 방법에 대한 특정 설명서를 찾을 수 없었습니다.WeifenLuo DockPanel Suite 사용

그리고 나는 SO 질문에 대해 살펴보고 마침내 뭔가를 얻을 수있었습니다. 여기

내가 한 일이다 : 나는 같은 ToolboxWindow 클래스 아래 그림을 만든 :

Public Class ToolboxWindow 
    Inherits WeifenLuo.WinFormsUI.Docking.DockContent 

    Public Sub New() 

    End Sub 
End Class 

그리고이 방법이 도구 상자의 인스턴스를 만들려고 :

Public Class Form1 
    Private toolboxWindow As ToolboxWindow 

    Public Sub New() 
     Me.InitializeComponent() 

     'Create new ToolboxWindow 
     toolboxWindow = New ToolboxWindow() 
    End Sub 

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load 
     'Show it 
     toolboxWindow.Show(DockPanel1, DockState.DockLeft) 
    End Sub 
End Class 

그리고 최종 결과는이 방법으로 나를 보여 줍니까? adjusttoolboxsize

enter image description here

1.How. 나는 dock panelform2이 2.If

는 어떻게 사전에 form1

감사에 표시 마세요!

답변

6

Q1 도구 상자의 크기를 조정하는 방법.

DockPanel 컨테이너에는 DockLeftPortion 속성 (오른쪽, 아래 및 위쪽)이 있습니다. 왼쪽 영역의 너비를 픽셀 또는 사용 가능한 영역의 비율로 지정합니다. 도킹 된 컨트롤의 크기를 허용하는 것을 보지 못했습니다.

Q2 난 당신이 독 패널이 최고 수준 신청서 각이있는 경우 나 Form1에

에 표시 어떻게 도크 패널을 Form2이있는 경우 첫 번째 매개 변수로 적절한 dockpanel 제어를 전달 방법은 Show()입니다.

Q2의 의미는 무엇입니까?

4

이 게시물은 오래된 게시물이지만 다른 것을 찾고있는 중에도 오늘은 답변을 찾았습니다. 양식의 크기를 조정하려면 DockForms

의 크기를 조정하는 방법


, 여기 당신이 그들을 수정할 수하는 방법입니다. Look here.

dockPanel.Extender.FloatWindowFactory = new CustomFloatWindowFactory(); 

: 그것은 작동 기본 폼에이 붙여 넣을 수 있도록, 다음

public class CustomFloatWindow : FloatWindow { 
    public CustomFloatWindow(DockPanel dockPanel, DockPane pane) 
     : base(dockPanel, pane) { 
      FormBorderStyle = FormBorderStyle.Sizable; 
      MaximizeBox = false; 
      MinimizeBox = false; 
          Width = 50; 
    } 

    public CustomFloatWindow(DockPanel dockPanel, DockPane pane, Rectangle bounds) 
     : base(dockPanel, pane, bounds) { 
     FormBorderStyle = FormBorderStyle.Sizable; 
     MaximizeBox = false; 
     MinimizeBox = false; 
        Width = 50; 
    } 
} 

public class CustomFloatWindowFactory : DockPanelExtender.IFloatWindowFactory { 
    public FloatWindow CreateFloatWindow(DockPanel dockPanel, DockPane pane, Rectangle bounds) { 
     return new CustomFloatWindow(dockPanel, pane, bounds); 
    } 

    public FloatWindow CreateFloatWindow(DockPanel dockPanel, DockPane pane) { 
     return new CustomFloatWindow(dockPanel, pane); 
    } 
} 

을 그리고 : 그냥 (I 하단에 광산을 넣어) 메인 서브의 네임 스페이스에이 붙여 넣기 도크 형태에 도킹 패널을 표시하려면 도킹 패널

을 표시하는 방법

, 당신은 양식 템플릿의 종류를 만들 수 있고, 그것을에 이 Form을 말한다 코드는, 다음과 같이 DockContent로 변경 :

을 지금, 당신은 다음과 같이보고, 도킹 패널에 사용하는 코드를 수정할 형태 (오히려 유형으로 DockContent을 통지) Form보다 그런 다음

namespace mynamespace{ 
public partial class MyForm: DockContent { 
    public dockform_MyForm() { 
     InitializeComponent(); 
    } 

    private void MyForm_Load(object sender, EventArgs e) { 
    } 
} 
} 

, 그것을 고정하기 위해, 우리는 먼저 다음을 생성, 새로운 양식을 선언합니다. 나는이 좋아 :

마지막으로
//in your form main sub: 
private dockform_MyForm dform_MyForm = new MyForm(); 

//now, somewhere in your form's class, put this: 
public void showMyFormDocked() { 
    dform_MyForm = new MyForm(); 
    dform_MyForm.Show(dockPanel); 
} 

, 당신은 단지 어디에서나 전화, 양식을 보여 :

showMyFormDocked(); 

나는 소스 문서를 공부하고이를 재생하는 것을 시도에서이 모든 것을 배웠습니다.