Удаление границы от управления WebBrowser

Я сделал, чтобы WebBrowser управлял нахождением на Форме, которая имеет раздражающую выглядящую словно вставленную границу на 2 пкс вокруг этого. Это заставляет мое содержание быть отсеченным на 4 пкс справа и нижняя часть, и я не могу выяснить, как избавиться от него. Само управление не имеет никаких свойств BorderStyle - как каждый удаляет границу?

Посмотрите красную область в снимке экрана:

Заставьте его остановиться! http://img229.imageshack.us/img229/8342/badbadwebbrowser.gif

Я хочу, чтобы WebBrowser был похож на синюю область - то есть, заполнил Форму и был сбросом против краев Формы.

6
задан Zack The Human 24 January 2010 в 18:50
поделиться

3 ответа

Т.е. рисует, что как часть стиля по умолчанию на теге тела. Set Граница: 0PX на элементе тела, и он уходит.

К счастью, это уходит в IE9 .

4
ответ дан 16 December 2019 в 21:39
поделиться

Я не могу воспроизвести тот вид, о котором вы говорите. Мой код в Form1.Designer.cs:

    this.webBrowser1.Location = new System.Drawing.Point(0, 0);
    this.webBrowser1.MinimumSize = new System.Drawing.Size(20, 20);
    this.webBrowser1.Name = "webBrowser1";
    this.webBrowser1.ScrollBarsEnabled = false;
    this.webBrowser1.Size = new System.Drawing.Size(141, 125);
    this.webBrowser1.TabIndex = 0;
    this.webBrowser1.Uri = ....

и веб-контроль отображается без границы.... Я использую VS 2008 SP1/Windows 7.

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

-1
ответ дан 16 December 2019 в 21:39
поделиться

Управление WebBrowser наследует стиль отображения из класса управления. Если вы хотите управлять стилем управления границей, вы можете использовать код такого, например, в form.designer.cs:


    using System;
    using System.ComponentModel;
    using System.Windows.Forms;

    public class wbExt : System.Windows.Forms.WebBrowser
    {
        private BorderStyle _borderStyle;
        [
        Category("Appearance"),
        Description("The border style")
        ]

        public BorderStyle BorderStyle
        {
            get
            {
                return _borderStyle;
            }
            set
            {
                _borderStyle = value;
                this.RecreateHandle();
                Invalidate();
            }
        }

        protected override CreateParams CreateParams
        {
            get
            {
                const int WS_BORDER = 0x00800000;
                const int WS_EX_STATICEDGE = 0x00020000;
                CreateParams cp = base.CreateParams;
                switch (_borderStyle)
                {
                    case BorderStyle.FixedSingle:
                        cp.Style |= WS_BORDER;
                        break;
                    case BorderStyle.Fixed3D:
                        cp.ExStyle |= WS_EX_STATICEDGE;
                        break;
                }
                return cp;
            }
        }

        public wbExt()
        {
        }
    }

Теперь вы можете изменить сгенерированный код в классе форм.

private wbExt webBrowser1;

и переписать создание элемента WebBrowser в INATIVELIZEMPOMPOMPONENT в форме:

this.webBrowser1 = new WindowsFormsApplication1.wbExt();
Итак, сейчас
webBrowser1.BorderStyle = BorderStyle.None;
удалит любые границы из управления WebBrowser.
2
ответ дан 16 December 2019 в 21:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: