簡體   English   中英

C# Winforms 需要自定義 WebBrowser 控件

[英]C# Winforms Custom WebBrowser Control Needed

我最近一直在搜索 web 以查找現有控件,該控件類似於 web 瀏覽器控件,具有我需要的一些特定功能。

我還沒有找到一個有它們的,所以我想在這里留下一個問題,希望有人能指出我如何做到這一點,或者甚至給我一些關於如何從頭開始創建一個的提示,最終將是解決方案。

我需要一個允許我預覽網頁的控件,同時它允許我以編程方式對其進行編輯。 我不需要將 HTML 或文本直接寫入編輯器,但需要能夠單擊一個按鈕,並將特定的 HTML 代碼插入到文檔中,並刷新預覽。

我還需要能夠捕獲控件上的點擊事件。 例如,我想單擊控件上的特定位置並獲取位於鼠標 position 處的 HTML 元素。 關於事件,我還需要能夠捕獲拖放,而且瀏覽器控件本身似乎也不支持這一點。

盡管我已經嘗試了一些不同的控件,但它們都沒有這些功能,或者允許我添加它們。 所以,如果有人能指出我正確的方向,或者如果我錯誤地假設它不能用任何現有的 .NET 控件完成,我將非常感激。

預先感謝您的任何幫助。

兩個建議:

在瀏覽器的客戶端,有 DOM 訪問器可以讓您通過鼠標 position 獲得 HTML。 查看此頁面以進行演示:

http://www.permadi.com/tutorial/cssGetElementUnderMouse/index.html

據推測,您可以將 javascript 寫入 HTML 中,其中包含掛鈎以在您的父 UI 代碼中引發事件,進而與瀏覽器交互。 從 DOM 中獲取捕獲 HTML 元素名稱並將其傳遞回 UI 的內容,UI 將其用作 cursor 到 HTMLDocument 中,這將是一個好的開始。

從那里您可能可以擴展 model 以支持拖放或動態刷新或您擁有的想法。

我不知道有什么開箱即用的方法。 我確實環顧四周,發現了這個工具,它自稱為免費並提供源代碼,但我不知道它的許可證 model 是什么,所以請聯系作者

http://kompozer.net/features.php

據我所知,沒有這樣的控制。 此外,從頭開始編寫一個能夠正確呈現所有現代 HTML/CSS 的程序將是一項艱巨的任務。

即使是像 Microsoft Expression 這樣的產品,在顯示正在編輯的 HTML 的方式上也往往存在怪癖。

恐怕你的工作已經完成了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM