DotNetBrowser - это маленькое окно в моей форме, почему и как мне это исправить? - PullRequest
0 голосов
/ 09 декабря 2018

Это мой текущий код: https://hastebin.com/ifejusezat.cs

Это скриншот того, что я вижу: https://gyazo.com/2ee9b1210649ca8ec61e3fa7e645a286

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

        BrowserView browserView = new WinFormsBrowserView();
        Controls.Add((Control)browserView);
        browserView.Browser.LoadURL("http://www.google.com");
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        BrowserView browserView = new WinFormsBrowserView(BrowserFactory.Create());
        Control browserWindow = (Control)browserView;
        browserWindow.Dock = DockStyle.Fill;
        Controls.Add(browserWindow);
    }
}

Ответы [ 2 ]

0 голосов
/ 06 июня 2019

Если вы используете DotNetBrowser 1.9, используйте свойства элемента управления, чтобы установить Dock в DockFill

Control browserControl = (Control)browserView;
browserControl.Dock = DockStyle.Fill;
Controls.Add(browserControl);
0 голосов
/ 09 декабря 2018

Обновленный ответ: Это мой полный Form1.cs (взят прямо с сайта teamdev ), и он работает (см. Изображение) без изменения размера.

using DotNetBrowser;
using DotNetBrowser.WinForms;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WinFormsSampleCSLightweight
{
    public partial class Form1 : Form
    {

        private readonly BrowserView browserView;

        public Form1()
        {
            InitializeComponent();

            browserView = new WinFormsBrowserView(BrowserFactory.Create(BrowserType.LIGHTWEIGHT));
            Controls.Add((Control)browserView);
            browserView.Browser.LoadURL("http://www.google.com");
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (browserView != null)
            {
                browserView.Dispose();
                browserView.Browser.Dispose();
            }
        }
    }
}

enter image description here


Исходный ответ: Вы можете попробовать метод UpdateSize в представлении браузера.

browserView.UpdateSize(someWidth, someHeight);

Или вы можете попытаться изменить размер документа, которыйпросмотрено.

public void WebBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    //For the case when the control's Dock property is DockStyle.Fill
    this.Width = WebBrowser.Document.Body.ScrollRectangle.Width + 40; //40 is for border
    this.Height = WebBrowser.Document.Body.ScrollRectangle.Height + 40; //40 is for border
    //For the case when the control is not docked
    WebBrowser.Size = WebBrowser.Document.Body.ScrollRectangle.Size;
}
...