2016-08-13 2 views
0

두 개의 다른 브라우저 창을 Visual Studio의 동일한 양식에서 다른 창 아래에로드하려고합니다. 하나의 브라우저 창을로드하고 크기와 위치가 지정된 상태에서 맨 위 절반 높이로 유지할 수 있습니다. 첫 번째 브라우저 창 아래에 두 번째 브라우저 창을 추가하면 뭔가 빠져 있습니다. 나는 배우는 프로그래머가 아닙니다. 그래서, 내가 뭘 잘못하고 있는지 모르겠다. 나는 단지Visual Studio 솔루션에서 하나의 양식으로 두 개의 브라우저 창을 하나씩로드하려고합니다.

public Form() {} 

내부

InitBrowser1(); 

이로드로드 할 때

여기에 코드

public Form1() 
     { 
      InitializeComponent(); 
      InitBrowser(); 
      InitBrowser2(); 

     this.WindowState = FormWindowState.Maximized; 
    } 


    public ChromiumWebBrowser browser1; 
    public void InitBrowser() 
    { 
     Cef.Initialize(new CefSettings()); 
     browser1 = new ChromiumWebBrowser("https://www.google.com/"); 
     this.Controls.Add(browser1); 
     browser1.Location = new Point(0, 0); 
     browser1.Anchor = (AnchorStyles.Top); 
     browser1.Size = new Size(1300, 400); 
    } 

    public ChromiumWebBrowser browser2; 
    public void InitBrowser2() 
    { 
     Cef.Initialize(new CefSettings()); 
     browser2 = new ChromiumWebBrowser("https://www.yahoo.com/"); 
     this.Controls.Add(browser2); 
     browser2.Location = new Point(0, 400); 
     browser2.Size = new Size(1300, 400); 
    } 

입니다. 하지만 제가

InitBrowser2(); 

넣으면 첫 번째 하나가 아닌 두 번째를 도시한다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 하나의 양식에 두 개의 브라우저 창이로드 될 수있는 다른 방법이 있습니까?

편집 : 한 가지 형식으로 두 브라우저를 모두로드하는 방법을 발견했습니다. 아래 코드를 변경했습니다. 유일한 문제는 제대로 정렬되지 않았고 서로 겹치는 부분을 보여줍니다. 페이지의 상단 절반에 하나를 갖고 페이지의 하단에 다른 하나를 갖는 방법에 대한 도움이 필요하십니까?

public ChromiumWebBrowser browser; 
    public ChromiumWebBrowser browser2; 
    public void InitBrowser() 
    { 
     Cef.Initialize(new CefSettings()); 

     browser1 = new ChromiumWebBrowser("https://www.google.com/"); 
     this.Controls.Add(browser1); 
     browser1.Location = new Point(-300, 0); 
     browser1.Size = new Size(1300, 400); 

     browser2 = new ChromiumWebBrowser("https://www.yahoo.com"); 
     this.Controls.Add(browser2); 
     browser2.Location = new Point(-300, 400); 
     browser2.Size = new Size(300, 400); 

    } 
+1

브라우저 2 만있는 경우 표시 되나요? (InitBrowser(); 주석) – Missy

+0

InitBrowser2() 다음 InitBrowser(). 2 명이 나타나고 1 명이 아닙니다. – jeromeyers

+0

그래,하지만 전체보기에서 나는 browser2.Dock = DockStyle.Fill을 준 것처럼 – Neo

답변

0

여러분 모두 도와 주려고 애썼지 만, 설명을위한 질문을 통해 오류를 찾아 해결책을 생각해 냈습니다. 이제 같은 Windows.Form에서 두 브라우저를 차례로로드 할 수 있습니다. 아래는 작업 코드입니다.

public Form1() 
    { 
     InitializeComponent(); 
     InitBrowser();   
     this.WindowState = FormWindowState.Maximized; 
    } 

    public ChromiumWebBrowser browser1; 
    public ChromiumWebBrowser browser2; 

    public void InitBrowser() 
    { 
     Cef.Initialize(new CefSettings()); 

     browser1 = new ChromiumWebBrowser("https://www.google.com/"); 
     this.Controls.Add(browser1); 
     browser1.Anchor = AnchorStyles.Top; 
     browser1.Location = new Point(-300, 0); 
     browser1.Size = new Size(1300, 500); 

     browser2 = new ChromiumWebBrowser("https://www.yahoo.com"); 
     this.Controls.Add(browser2); 
     browser2.Anchor = AnchorStyles.Top; 
     browser2.Location = new Point(-300, 500); 
     browser2.Size = new Size(1300, 200); 

    } 
관련 문제