2012-12-19 3 views
-3

mdi parent.this 하위 폼에로드되는 하위 폼이로드 될 때 슬라이드 효과를 가지며 화면 왼쪽에서 나오며 화면 가운데에 설정됩니다 (i 간단한 타이머로 이것을했다).스크롤 막대가 Mdi 하위에서 작동하지 않습니다. 슬라이드 양식

문제는 그 fill 폼의 dockstyle 설정 없다면 스크롤 바가 작동하지 않도록하고 난 filldockstyle에 설정 한 경우, 상기 슬라이딩 효과 못해 일과 간단한 형태로드!

void timerPrevMonth_Tick(object sender,EventArgs e) 
    { 
     timerPrevMonth.Stop(); 
     reservevaghtazar.Location = new Point(reservevaghtazar.Location.X +15,this.Location.Y); 

     if (this.Location.X-reservevaghtazar.Location.X <5) 
     { 
      reservevaghtazar.Location = new Point(this.Location.X,this.Location.Y); 
      this.TopMost = false; 
      reservevaghtazar.BringToFront(); 
      reservevaghtazar.Focus(); 

     } 
     else 
      timerPrevMonth.Start(); 
    } 

하는 form1에있는 버튼을 누르면이 형태 reserve_vaght_azar 효과를

+0

문제가 중복 된 코드를 게시하십시오. – LarsTech

+1

신비한 질문에 양식에 DockStyle 속성이 없습니다. 지구상에 무슨 소리를하는거야? –

+0

내가 보여줄 몇 가지 코드를 넣어 보자. – Arash

답변

0

I 슬라이딩로드 될 것이다

Timer timerPrevMonth = new Timer(); 
    //reserve_vaght_azar is the form that will be load in sliding effect 
    reserve_vaght_azar reservevaghtazar = null; 
    private void btn_prev_dey_Click(object sender,EventArgs e) 
    { 

     reservevaghtazar = new reserve_vaght_azar(); 
     reservevaghtazar.StartPosition = FormStartPosition.Manual; 
     reservevaghtazar.Location = new Point(this.Location.X-Width,Location.Y); 
     reservevaghtazar.MdiParent = MdiParent; 
     this.TopMost = true; 
     //here is dockstyle 
     // reservevaghtazar.Dock=DockStyle.Fill; 
     reservevaghtazar.Show(); 
     timerPrevMonth.Start(); 
    } 

이 타이머 기능은 :

Form1에있는 버튼이며 그것을 해결!

는 단순히 문제 나 슬라이드 형태 전의 형태 나 도킹 라인의 위치를 ​​변경하고 해결 screen.to 완전히로드 도킹 이였다 reservevaghtazar.Focus();

reservevaghtazar.Dock=DockStyle.Fill; 첨가.

그러나 아직 폼이 나던 부모를 채우지 않으면 스크롤바가 작동하지 않는다는 것이 매우 이상합니다.