2008-10-05 4 views
0

Мне поручили проект, в соответствии с которым мне нужно создать уменьшенную версию Firebug, например, пользовательского интерфейса, где пользователь может загружать HTML-страницу, и когда они наведите указатель мыши на элементы, они будут быть выделены. Приложение позволит пользователям выбрать таблицу для скрипирования экрана ... пока не добрались до этой части..NET Firebug как поддержка пользовательского интерфейса

Любые советы?

Благодаря

ответ

3

Ну, я не использовал Firebug UI, но я сделал именно то, что Вы описываете с помощью элемента управления WebBrowser .NET 2.0 в приложении WinForms.

В основном я добавил элемент управления WebBrowser и Timer в форму, а затем в событие, прошедшее по таймеру, я запрошу позицию мыши с помощью родной функции GetCursorPos и ​​использую метод GetElementFromPoint из WebBrowser.Document (класс HtmlDocument) (настройка 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 разобрать, как вы считаете нужным.

Richard

+0

Это отличный головной убор! Большое спасибо. – 2008-10-06 01:55:22

Смежные вопросы