2014-05-13 1 views
1

내 질문은 어떻게 내 양식의 다른 부분을 볼 수 있습니다. 예를 들어 다음 속성을 사용하여 양식을 만듭니다. 크기 : 280; 280양식의 다른 위치를 보려면 어떻게해야합니까?

이제 네 개의 상자, 왼쪽 위, 오른쪽 위, 왼쪽 아래, 오른쪽 아래로 분할한다고 가정 해 보겠습니다. (모든 상자는 140, 크기는 커지지 만 각각의 위치는 다릅니다)

이제 사용자가 방금 만든 왼쪽 상단 '상자'에서 3 가지 선택 항목을 만들고 싶습니다. 이 상자만큼 커. 사용자가 버튼을 클릭하면 다른 '상자'중 1 개를 선택하고 해당 상자 하나만 표시합니다. 이 상자만큼 크다. 그래서 실제로 내 양식의 위치가 변경됩니다.

양식 내에서 가능하지 않은 경우 1 개의 다른 양식을 작성하고 어떤 버튼을 클릭했는지 확인하기 위해 사례를 작성하여 해당 양식을 작성합니다.

편집 : Visual Studio 2013 및 WindowsFormsApplication을 사용하고 있다고 말하지 않았을 수 있습니다. 실제로 C#입니다.

+0

, 140이다, 나는 몇 가지 잘못된 맞춤법이 있다면) – vsp33ddyv

+0

, 다음 미안 해요 . 나는 벨기에 출신이고 영어는 제 모국어가 아닙니다. – vsp33ddyv

답변

0

설명하는 이동 가능한 뷰포트는 아니지만 Panel 컨트롤을이 코드와 같이 움직여도 동일한 효과를 얻을 수 있습니다. Windows Forms 디자이너에는 280, 280 양식이 있으며, 해당 양식의 각 사분면에는 각 사분면의 컨트롤을 배치하는 140, 140 Panel 컨트롤이 있습니다. 아래 코드에서 panel1은 0, 0 위치에 있으며 세 개의 버튼이 있습니다. 하지만, 덕분에 panel2panel3는 0에서 140, 140, 0, 그리고 panel4 내가 잘못 계산 죄송 그래 (140)

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
     this.Size = new Size(140, 140); 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     moveFormToPanel(panel2); 
    } 

    private void button2_Click(object sender, EventArgs e) 
    { 
     moveFormToPanel(panel3); 
    } 

    private void button3_Click(object sender, EventArgs e) 
    { 
     moveFormToPanel(panel4); 
    } 

    private void moveFormToPanel(Panel panel) 
    { 
     this.Location = this.Location + new Size(panel.Location.X, panel.Location.Y); 
     this.panel1.Visible = false; 
     panel.Location = this.panel1.Location; 
     panel.Visible = true; 
    } 
} 
+0

이 방법을 사용하려는 경우 실제로 작동합니다.이 예제를 사용하려면 다음을 수행하십시오. 둘 다 (4) 내 패널을 서로 다른 위치에두고 싶습니다. 패널을 맨 위 왼쪽으로 옮기고 뒤쪽을 숨기는 것만이 아닙니다. 정말 패널 위치로 이동하십시오. 아니면 일시적으로 위치를 바꿀 수 없다면 어쩌면? – vsp33ddyv

+0

폼을 뷰포트로 처리하는 방법을 모르겠습니다. 내 지식에 따라 양식이 움직이면 모든 것이 그 안에 있습니다. 희망을 갖고 누군가가 더 나은 대답을 제공 할 수 있기를 바랍니다. – erli