Я сделал, чтобы WebBrowser управлял нахождением на Форме, которая имеет раздражающую выглядящую словно вставленную границу на 2 пкс вокруг этого. Это заставляет мое содержание быть отсеченным на 4 пкс справа и нижняя часть, и я не могу выяснить, как избавиться от него. Само управление не имеет никаких свойств BorderStyle - как каждый удаляет границу?
Посмотрите красную область в снимке экрана:
Заставьте его остановиться! http://img229.imageshack.us/img229/8342/badbadwebbrowser.gif
Я хочу, чтобы WebBrowser был похож на синюю область - то есть, заполнил Форму и был сбросом против краев Формы.
Т.е. рисует, что как часть стиля по умолчанию на теге тела. Set Граница: 0PX
на элементе тела, и он уходит.
К счастью, это уходит в IE9 .
Я не могу воспроизвести тот вид, о котором вы говорите. Мой код в 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.
Может быть, стоит попробовать добавить элемент управления внутри контейнера, например, панели.
Управление 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.