2017-04-12 3 views
0

내 프로젝트에서는 두 페이지로 구성됩니다. 이들은 Form1.cs, myusercontrol1.cs입니다.버튼 클릭 - Windows의 UserControl.cs 페이지로 리디렉션

버튼이있는 Form1. Button_click 이벤트에서 Form1을 myuserontrol1.cs 페이지로 리디렉션해야합니다.

이 내 코드입니다 :

private void button1_Click(object sender, EventArgs e) 
     { 
      // Code1 
      var destinationform = new myusercontrol1(); 
      destinationform.Show(); 


      // Code2 
      myusercontrol1 destinationformobj = new myusercontrol1(); 
      destinationformobj.Show(); 
     } 

그러나 그것은 결코 myusercontrol1.cs 페이지

이 페이지를 UserControl을 위해 양식에서 리디렉션 할 수 리디렉션하지? 당신은 또한 크기와 같은 몇 가지 알아서해야

public frmUserControl : Form 
{ 
    private UserControl control; 

    public frmUserControl(UserControl control) 
    { 
     this.control = control; 
     this.Load += frmUserControl_Load; 
    } 

    public frmUserControl_Load(object sender, EventArgs e) 
    { 
     this.Controls.Add(control); 
    } 
} 

: 당신이 양식을 사용하여 문제를 해결하기 위해이 작업을 수행 할 수있는 의견에 따라 사전에

감사

+3

사용자 정의 컨트롤은 폼이 아닙니다. 그들은 폼 외부에 존재할 수 없으며 양식을 작성하고 컨트롤을 배치 한 다음 – Emad

+0

@Emad 답장을 보내 주셔서 감사합니다. 예 UserControl은 양식이 아닙니다. 할 수있는 방법이 있습니까 아니면 불가능합니까? – User6667769

+0

마치 한 번에 하나의 버튼을 보여주는 것과 같습니다! 양식없이! 내가 아는 한 불가능합니다. 그러나 나는 비어있는 양식을 만들고 사용자 정의 컨트롤의 인스턴스를 받아 들여 자신의 공간에 렌더링하는 것과 비슷한 상황을 겪었습니다. 원한다면 그 생각을 당신과 나눌 수 있습니다. – Emad

답변

1

확인 새 양식 및 양식 내의 사용자 정의 컨트롤의 위치. 나는 그것을위한 나의 오래된 코드를 찾으려고 노력했다. 그러나 그것은 너무나 낡았다. 그리고 나는 지금 그것을 가지지 않고있다. 그래서 도움이되기를 바랍니다 :)

+0

런타임에만 컨트롤을 추가 할 수 있습니까? – User6667769

+0

잘 디자인 타임에 일반 폼에 사용자 정의 컨트롤을 추가하는 것은 매우 일반적인 작업입니다. 그렇게하고 싶니? – Emad

+0

답장을 보내 주셔서 감사합니다. 아니요 UserControl.cs 페이지를 리디렉션하고 싶습니다. 그것의 아주 이상한 – User6667769