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()
{
}
}
이제 Form 클래스에서 생성 된 코드를 변경할 수 있습니다. 그런
private wbExt webBrowser1;
및 형태의 InitializeComponent에서 웹 브라우저 항목의 생성을 다시 쓰기 :
this.webBrowser1 = new WindowsFormsApplication1.wbExt();
그래서, 지금
webBrowser1.BorderStyle = BorderStyle.None;
는 웹 브라우저 컨트롤에서 모든 테두리를 제거합니다.
전화하세요. 여백 및 패딩을 다시 설정했지만 html 또는 body 요소에있을 수있는 테두리는 제거하지 않았습니다. 감사! –
나는 css로 그것을 해결할 수 없다. –
CSS를 페이지에 추가 할 수 없습니까, 아니면 CSS 기반 방식이 작동하지 않습니까?응용 프로그램에서 프로그래밍 방식으로 CSS를 추가하여이를 수행 할 수 있습니다. –