2012-08-30 4 views
0

분할 컨테이너 작업 중입니다. 내 분할 컨테이너에는 두 개의 패널과 수평 방향이 있습니다. 첫 번째 패널에는 텍스트 상자와 버튼이 있습니다. 내가 버튼을 클릭하면 분할 컨테이너의 Panel1을 축소하는 코드가 실행됩니다. 붕괴 후 내 버튼을 보이지 않는 점점 모든 텍스트 상자를 발생할 때 내 문제가 collpase splitcontainer를 win 형식으로 확장하십시오. C#

private void button1_Click(object sender, EventArgs e) 
{ 
     splitContainer1.Panel1Collapsed = !splitContainer1.Panel1Collapsed; 
} 

과 같은 코드입니다. 그래서 다음에 그 컨트롤을 보이지 않게 할 수 있습니다. 그래서 나는 그 버튼을 다시 클릭하여 panel1을 보이게 할 수 있기 때문에 버튼과 같은 트릭을 보이지 않게 할 것이다. 가능한 경우 패널에서 스플리터에서 버튼을 수정하거나 배치하는 방법을 안내합니다. 그래서 내가 어떻게 할 수 있는지 안내 해줘.

+0

은 당신이 축소'SplitContainer.Panel1'의 일부인하는'Button' 클릭 할 수없는 매우 명확하지가요? 'Button '을'ToolBar'에 저장하거나, 붕괴 상태에 따라 활성화/비활성화되는'MenuItem'으로 저장하는 것이 좋습니다. – varg

답변

3
private void button1_Click(object sender, EventArgs e) 
{ 
    splitContainer1.Panel1Collapsed = !splitContainer1.Panel1Collapsed; 
    button1.Parent = splitContainer1.Panel1Collapsed ? splitContainer1.Panel2 : splitContainer1.Panel1; 
} 
+0

두 번째 클릭 후 작업을 수행하고 패널을 다시 축소하면이 버튼이 사라지고 다시 클릭 할 수 없습니다. – varg

+1

당신이 말하는 것을 복제 할 수 없습니다. 내 경우에는 컨트롤의 나머지 부분이 사라지는 동안 버튼이 동일한 위치에 표시됩니다. 어쩌면 다른 컨트롤 뒤에 숨어있을 수 있습니까? button1.BringToFront();를 추가하십시오. 끝에서 확인하십시오. – coolmine

+0

작은 그룹화되지 않은 그룹 상자 뒤에 숨어 있습니다. 젠장, 통제 해! :) - 좋은 해결책! – varg

0

귀하의 전체 게시물에 대한 이전의 코멘트와 관련 있습니다. 이 작은 솔루션은 ToolBarButton입니다. SplitContainer.Panel1이 접힌 경우에만 사용할 수 있습니다.

코드 :

private void Form1_Load(object sender, EventArgs e) 
    { 
     splitContainer1.Panel1Collapsed = true; 
     toolStripButton1.Enabled = true; 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     splitContainer1.Panel1.Hide(); 
     toolStripButton1.Enabled = true; 
    } 

    private void toolStripButton1_Click(object sender, EventArgs e) 
    { 
     if (splitContainer1.Panel1Collapsed) 
     { 
      toolStripButton1.Enabled = false; 
      splitContainer1.Panel1.Show(); 
     } 
    }