0
我的任務是一個項目,我需要創建一個像用戶界面的Firebug的縮小版本,用戶可以加載一個HTML頁面,當他們將鼠標懸停在他們會突出顯示。該應用程序將允許用戶選擇一個表格屏幕抓取....還沒有到那個部分。.NET的螢火蟲像UI協助
有什麼建議嗎?
感謝
我的任務是一個項目,我需要創建一個像用戶界面的Firebug的縮小版本,用戶可以加載一個HTML頁面,當他們將鼠標懸停在他們會突出顯示。該應用程序將允許用戶選擇一個表格屏幕抓取....還沒有到那個部分。.NET的螢火蟲像UI協助
有什麼建議嗎?
感謝
嗯,我沒有使用Firebug的用戶界面,但我做了什麼你描述使用WinForms應用程序的.NET 2.0 WebBrowser控件。
基本上,我添加了WebBrowser和一個Timer控件,然後在定時器過期事件中,我使用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來解析你認爲合適的。
Richard
這是一個偉大的開頭!非常感謝。 – 2008-10-06 01:55:22