首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 控件內嵌網頁實戰:將 WinForms 控件封裝為 ActiveX 於瀏覽器中運行

     編輯:關於C語言

專案背景

讀者來信詢問:能否將包含 Acrobat Control for ActiveX 的自訂控件內嵌網頁顯示 PDF?答案肯定。本文示範在 .NET 平台以 C# 開發 Windows 控制項庫,封裝 ActiveX 控件並內嵌網頁。

建立控制項庫專案

  1. 新建「Windows 控制項庫」專案,命名 PdfControl。
  2. 工具箱右鍵「新增/移除項目」→「COM 元件」→ 勾選 Acrobat Control for ActiveX(需安裝 Acrobat Reader 4.0)。
  3. 將 ActiveX 控件拖曳至使用者控件設計面,預設名稱 axAcroPDF1。
  4. 專案預設命名空間改為 pdfctl(網頁 object 標籤 classid 需對應)。

效果展示

PDF 控件內嵌網頁初始狀態
圖 1:PDF 控件內嵌網頁,初始載入狀態
點擊 Change Size 後
圖 2:點擊「Change Size」按鈕動態調整控件大小

關鍵部署設定

  1. CAS 安全性原則關閉: VS.NET 2003 命令提示執行 caspol -s off(僅開發測試環境,生產環境請配置恰當代碼組權限)。
  2. IIS 虛擬目錄: 建立虛擬目錄指向專案輸出目錄,執行權限設為「純腳本」。
  3. ActiveX 版本相依: 範例使用 Acrobat Reader 4.0 註冊的 ActiveX,高版本可能不相容。

網頁嵌入標籤範例


<object id="pdfCtrl" classid="http:pdfctl/PdfControl.dll#pdfctl.UserControl1"
        width="100%" height="500">
</object>
<input type="button" value="Change Size" onclick="pdfCtrl.ChangeSize()" />

classid 格式:http:命名空間/組件.dll#命名空間.類別。控件公開 ChangeSize() 方法供 JavaScript 呼叫。

來信原文

先生/小姐:我看了您的文章「做個 PDF 格式電子書瀏覽器——淺談一類控件的使用」後很有啟發。想請教:我在 ActiveX 控件中加入 Acrobat Control for ActiveX 顯示 PDF,網頁中使用會有影響嗎?

此技術路徑可推廣至任意 WinForms 控件封裝為 ActiveX 內嵌網頁,打破桌面與 Web 界限。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved