乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      如何用c

       ShangShujie 2007-09-30

      如何用c#來(lái)制作一個(gè)activeX控件或類(lèi)似的東西

      發(fā)布時(shí)間: 2007-04-19 02:05    作者: 未知    來(lái)源: 未知    瀏覽: 17    評(píng)論

      Q cat:
      操作系統(tǒng): 2000/xp
      編程工具: vs.net 2003 /c#
      問(wèn)題: 我想制作一個(gè)activeX控件或類(lèi)似的東西,有用戶(hù)界面的,然后想在ie中使用,通過(guò)Vbscript與其進(jìn)行數(shù)據(jù)交換,在以前好像可以使用vb就能做 到,但是現(xiàn)在是vs.net 2003企業(yè)版,好像已經(jīng)進(jìn)化了,activeX成了老的技術(shù),那vs.net如何解決這種類(lèi)似的問(wèn)題?如果要使用c#來(lái)編程的話(huà),具體如何操作?還要有 界面。

      A回答:

      在C#中和ActiveX控件對(duì)應(yīng)的是Windows控件庫(kù)(User Controls)。
      在IE中激活Windows Forms控件可以分五步來(lái)完成:
      * 創(chuàng)建Windows Forms控件;
      * 創(chuàng)建一個(gè)包含對(duì)象標(biāo)簽的HTML文檔;
      * 創(chuàng)建虛擬目錄,復(fù)制并設(shè)置權(quán)限;
      * 配置代碼訪(fǎng)問(wèn)權(quán)限;
      * 運(yùn)行該控件。
      1. Windows Forms控件:SimpleControl.dll
      幾乎所有的Windows Forms控件都可以用,但在這個(gè)例子里,我們使用的是包含在.NET Framework SDK QuickStart Tutorial Creating Controls中的SimpleControl控件。
      2. HTML文檔: SimpleControl.html
      接下來(lái)一步是生成內(nèi)有一個(gè)對(duì)象tag的HTML文檔,以激活Windows Forms控件。此外,還要加入一些腳本和輸入tag(input tags)到該控件的示范程序入口。
      <object id="simpleControl1"
      classid="http:SimpleControl.dll#Microsoft.Samples.WinForms.Cs.SimpleControl.SimpleControl"
      height="300"
      width="300">
      <param name="Text" value="Simple Control">
      </object>

      對(duì)象tag:
      classid包含兩個(gè)有趣的部分:導(dǎo)向控件庫(kù)的路徑和全名(fully qualified name),中間用“#”隔開(kāi)。如果您熟悉ActiveX對(duì)象tag的話(huà),您會(huì)發(fā)現(xiàn)我們沒(méi)有使用GUID。在Windows 表單中,路徑和全名(fully qualified name)合并在一起的整體被用來(lái)當(dāng)作唯一的識(shí)別符。
      參數(shù)tag被用來(lái)設(shè)置控件的屬性:“name”參數(shù)是屬性名,而“value”參數(shù)則是屬性的值。
      腳本:
      <script>
      function ChangeText() {
      simpleControl1.Text = text1.value;
      }

      </script>

      --------------------------------------------------------------------------------
      <input type="text" id="text1">
      <input type="button" value="Change Text" onclick="ChangeText()">

      您可以寫(xiě)一個(gè)腳本來(lái)獲得控件的程序入口,頁(yè)面上的按鈕和文本框已關(guān)聯(lián)到一個(gè)簡(jiǎn)單的函數(shù)ChangeText,以設(shè)置該控件的text屬性。為了是修改的結(jié)果體現(xiàn)出來(lái),控件必須重繪(調(diào)用invalidated()實(shí)現(xiàn))。
      完整代碼
      下面是這個(gè)例子完整的HTML代碼:
      <html>

      <script>

      function ChangeText() {
      simpleControl1.Text = text1.value;
      }

      </script>

      <body>

      <p>Simple Control</p>
      <br>
      <br>

      <object id="simpleControl1"
      classid="http:SimpleControl.dll#Microsoft.Samples.WinForms.Cs.SimpleControl.SimpleControl"
      height="300"
      width="300">
      <param name="Text" value="Simple Control">
      </object>

      <br>
      <br>

      <input type="text" id="text1">
      <input type="button" value="Change Text" onclick="ChangeText()">

      </body>

      </html>
      3. 虛擬目錄:
      創(chuàng)建一個(gè)新的虛擬目錄,并將控件(SimpleControl.dll)和HTML文檔(SimpleControl.html)放到這個(gè)目錄里。
      注意:將該虛擬目錄的執(zhí)行權(quán)限設(shè)置為“腳本”,如果將執(zhí)行權(quán)限設(shè)置為“腳本& 執(zhí)行”的話(huà),控件將不能正常激活。
      4 配置代碼訪(fǎng)問(wèn)權(quán)限
      如果你是在intranet運(yùn)行這個(gè)例子,并且沒(méi)有改變.Net Framework的安全策略,這個(gè)例子可以正確運(yùn)行了。如果你改變了安全策略,或者你打算從Internet網(wǎng)站運(yùn)行,你需要配置Internet Explorer或者改變安全策略。一個(gè)辦法將控件運(yùn)行和下載的頁(yè)面加入信任域。可以在Internet Explorer使用以下步驟完成:
      1. 選擇“工具|選項(xiàng)”
      2. 選擇"安全"項(xiàng)
      3. 選擇"受信任的站點(diǎn)"
      4. 點(diǎn)擊“站點(diǎn)”按鈕。
      5. 添加你的站點(diǎn)
      6. 點(diǎn)擊“確定”

      你也可以配置.net framework安全策略。SDK文檔中包括了如何配置安全策略的內(nèi)容。
      5. 運(yùn)行控件:
      用IE瀏覽器里指明虛擬目錄和SimpleControl.html文件,即運(yùn)行該控件。如果控件沒(méi)有被正常激活,則可能需要重啟一下IE或清空assembly下載緩存(assembly download cache)。
      注意: 您可以使用gacutil /ldl查看您的assembly下載緩存的內(nèi)容??梢允褂胓acutil /cdl清除緩存內(nèi)容。
      建議參考文章Using Windows Forms Controls in Internet Explorer(http:///articles/iesourcing.aspx)。

      cat: 謝謝你的回答,如何能得到全名(fully qualified name)?c#建立的控件都能用嗎?跟普通控件有區(qū)別嗎?我希望控件下載到客戶(hù)端運(yùn)行的(出現(xiàn)安全警告沒(méi)關(guān)系),能行嗎?
      答:上面的Microsoft.Samples.WinForms.Cs.SimpleControl.SimpleControl就是全名,你可以在項(xiàng) 目的屬性對(duì)話(huà)框中設(shè)置根命名空間。一般建立的C#控件都可以使用,不過(guò)這方面還沒(méi)有確切的資料。一般控件下載不是大問(wèn)題,只要安全選項(xiàng)設(shè)好了就可以。但是 一個(gè)大問(wèn)題是在沒(méi)有安裝過(guò).NET平臺(tái)的機(jī)器上需要安裝大約20M的.NET平臺(tái)文件,有點(diǎn)麻煩。

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀(guān)點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶(hù) 評(píng)論公約

        類(lèi)似文章 更多