2012-04-27 2 views
1

Windows 양식 사용자 정의 컨트롤에 HTML을 포함시키는 방법이 있습니까? .NET 4.0 응용 프로그램에서 사용할 경량 컨트롤을 만들고 싶지만 내용이 변경 될 수 있기 때문에 HTML을 사용하여 배치하는 것이 가장 쉽다고 생각했습니다. Windows 양식에서이를 수행 할 수있는 방법이 있습니까? C#과 HTML에는 몇 가지 다른 주제가 있지만 HTML을 구문 분석하고 표시하는 컨트롤을 만드는 것은 매우 중요합니다.C# 양식에 html 포함

감사

+0

하지에 대해 걱정할 필요가 없습니다 있도록 기본적으로 응용 프로그램에 포함 된 브라우저입니다 언급하는 것을 잊었다 winform 애플 리케이션에서 PITA, 나는 당신이 레이아웃을 바꿀 수 있기를 바랄 뿐이므로 HTML을 선택하는 것을 피할 것이다. 설정에 따라 런타임에 동적 부하 컨트롤 (런타임시)이 훨씬 쉬워진다. –

답변

2

당신은 WebBrowser 사용할 수 있지만 그 길을하지 않을 것을 권 해드립니다. 가능하다면 전통적인 컨트롤을 사용하여 필요한 것을 성취 할 수 있습니다. 약간의 GDI +와 결합 할 수도 있습니다.

+2

WebBrowser는 ... 까다 롭다. 나는 두 번째로 "아닙니다 .. 그 길"입니다. WPF는 일종의 "HTML과 유사하며 WinForms에 포함하기가 비교적 쉽습니다. (단점 (?)은 여전히 ​​WPF 스택을 사용합니다.) –

+0

불행히도 이것은 엄격하게 WinForms 앱입니다. HTML을 직접 파싱하고 GDI 또는 D2D를 사용하여 요소를 렌더링 할 수는 있지만 HTML을 파싱하고 사용 가능한 렌더링이있는 상자가 있는지 궁금합니다. 전체를 작성하지 않으려 고합니다. DOM 파서를 처음부터 ... – user1181950

+1

내가 말했듯이,'WebBrowser'. 표준 Windows Forms 컨트롤입니다. 하지만 그렇지 않으면 - 아니, 적어도, 내가 BreezeCSS를 사용하기 전까지. 너무 복잡하여 마크 업이 적합하지 않습니까? – Ryan

0

WebBrowser는 사용 및 유지 관리의 편의성면에서 최선의 선택입니다. browser.Document.DomDocument 인터페이스 및 이벤트에 액세스하여 내용 자체를 추가로 제어 할 수 있습니다. 장기적으로 사용자 지정 렌더링을 관리하고 유지 관리하는 것이 어려워 질 수 있으므로 GDI 사용을 권장하지 않습니다.

+0

GDI가 정상이지만 웹 브라우저 컨트롤을 사용하면 웹 페이지를 표시하는 데 동의합니다. 너무 많은 비즈니스 로직이 프레젠테이션 계층에있는 경우 usercontrols로 사용하면 끝납니다 - 미로는 웹 앱을 만듭니다. –

+0

@JeremyThompson : 동의 . 그러나 SO에 관한 대부분의 질문으로는 토론중인 프로젝트의 크기와 운영체제의 한계를 짐작할 수 없습니다. 나 자신은 때로는 빠른 포맷 된 콘텐츠가 필요한 웹 브라우저 컨트롤에 의존합니다. 일부 프로젝트는 베스트 프랙티스의 가치가 없습니다. 다른 사람들은 그것을 말하면서 총에 맞을 수 있습니다. –

+0

응답/팁 주셔서 감사합니다.위의 게시물에서 언급했듯이 시간이 주요 병목 현상입니다. WebBrowser를 신속하게 더러운 첫 번째 단계로 사용해보고 더 나은/깨끗한 솔루션을 찾기 위해 길을 다시 평가할 것입니다. – user1181950

0

비슷한 일을 시도하고 있는데 awesomium을 찾았습니다. 그들은 dotnet과 mono 래퍼를 가지고 있으며, 전체적으로 꽤 미세한 입자 제어를합니다. 회사가 연간 100k 미만으로 만드는 한 무료입니다.

당신은 사용자가 웹 브라우저 컨트롤과 통신이 설치 또는 아무것도 및 PC의 이상 consistant 갖는 및 OS의

관련 문제