2008-10-05 3 views
0

사용자가 HTML 페이지를로드 할 수있는 UI와 같은 축소 된 버전의 Firebug를 만들 필요가있는 프로젝트를 맡았으며, 요소 위에 마우스를 올려 놓으면 강조 표시됩니다. 이 앱을 사용하면 사용자가 화면을 긁어 낼 표를 선택할 수 있습니다. 아직 그 부분에 도달하지 못했습니다..NET Firebug와 같은 UI 지원

어떤 조언이 필요합니까?

감사

답변

3

글쎄, 나는 방화범 UI를 사용하지 않은,하지만 난 정확히 윈폼 응용 프로그램에서 .NET 2.0 웹 브라우저 컨트롤을 사용하여 무엇을 설명 했어요.

기본적으로 WebBrowser 및 타이머 컨트롤을 폼에 추가 한 다음 타이머 경과 이벤트에서 GetCursorPos 네이티브 함수를 사용하여 마우스 위치를 쿼리하고 WebBrowser.Document (HtmlDocument 클래스) GetElementFromPoint 메서드를 사용합니다 (x 및 y 위치는 브라우저 컨트롤에 상대적입니다.

마우스 위치에있는 HtmlElement를 반환합니다. 여기에 방법의 고기는 다음과 같습니다

HtmlElement GetCurrentElement() 
{ 
    if (Browser.ReadyState == WebBrowserReadyState.Complete && Browser.Document != null) 
    { 
     Win32Point mouseLoc = HtmlScan.Win32.Mouse.GetPosition(); 
     Point mouseLocation = new Point(mouseLoc.x, mouseLoc.y); 
     // modify location to match offset of browser window and control position: 
     mouseLocation.X = ((mouseLocation.X - 4) - this.Left) - Browser.Left; 
     mouseLocation.Y = ((mouseLocation.Y - 31) - this.Top) - Browser.Top; 

     HtmlElement element = Browser.Document.GetElementFromPoint(mouseLocation); 

     return element; 
    } 

    return null; 
} 

당신이는 HTMLElement를 얻을 후, 당신은 당신이 맞는 볼로 innerHTML을 구문 분석 할 수 있습니다.

리차드

+0

위대한 출발점입니다. 많은 감사합니다. –

관련 문제