亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

Visual C#創(chuàng)建和使用ActiveX組件

2023-05-18 12:33:13
字體:
供稿:網(wǎng)友

  開發(fā)基于.Net平臺上的程序員是很難從本質(zhì)上把Visual C#和ActiveX組件聯(lián)起來,雖然在使用Visual C#開發(fā)應(yīng)用程序時,有時為了快速開發(fā)或者由于.Net FrameWork SDK的不完整,還需要借助ActiveX。但即使如此,也很難把二者聯(lián)系起來。其中的原因就是能夠被Visual C#直接使用文件和通過Visual C#生成的可執(zhí)行程序只可能是托管的文件。而Active X組件卻都是非托管文件。這種文件的差異決定了二者本質(zhì)"對立"。于是這就引出了本文第一個問題,ActiveX和Visual C#到底是何種關(guān)系。

  一.Visual C#和Active X組件:

  此時可能有些朋友會說,既然能夠被Visual C#直接使用只能是托管代碼文件,那在Visual C#中提供的可直接通過引用調(diào)用ActiveX又是怎么回事?的確Visual C#提供了引用ActiveX組件的操作,這種操作有效的利用了很多以前資源,使得這些資源并沒有隨著微軟推出.Net平臺而由于平臺的差異被"拋棄",但這種在Visual C#中引入ActiveX組件的操作其實(shí)并不被微軟公司所倡導(dǎo),也不符合微軟推出.Net的最終目的。這是因?yàn)槲④浿酝瞥?Net是為了實(shí)現(xiàn)跨平臺,為了實(shí)現(xiàn)"Write Once and Run Anywhere",寫一遍代碼,可以在任何平臺上運(yùn)行的目的。如果程序中使用了Active X組件,這也就從另一方面決定了此程序只能在Windows平臺上使用,也就無法實(shí)現(xiàn)微軟的"Write Once and Run Anywhere"最終目標(biāo)了。

  再者Visual C#提供的引用ActiveX組件的操作,其實(shí)Active X組件被加入Visual C#的"工具箱"時,Visual Stuio .Net其實(shí)對ActiveX組件進(jìn)行了很多操作,而這些操作又都被Visual C#隱藏了,使用者往往并不完全清楚。這些操作的作用就是把非托管的ActiveX組件轉(zhuǎn)換成托管的組件,這些操作統(tǒng)稱"互操作",細(xì)心的程序員可能就會發(fā)現(xiàn),當(dāng)往程序窗體中拖入ActiveX組件后,源程序所在目錄的"Bin"目錄中就會新增若干個"Dll"文件,這些文件就是Active X組件進(jìn)行互操作轉(zhuǎn)換后生成的。此時在Visual C#使用的并不是ActiveX組件,而是由ActiveX組件進(jìn)行互操作得到可供.Net平臺使用的、功能和原先ActiveX組件相同的類庫了。

  既然在Visual C#中不能直接使用ActiveX組件,那種看似在Visual C#中使用的ActiveX組件其實(shí)使用的是經(jīng)過了互操作后轉(zhuǎn)換的類庫。那么Visual C#是否能夠生成Active X組件?本文就來探討一下Visual C#中生成ActiveX組件的實(shí)現(xiàn)方法。制作的方法就是首先通過Visual C#創(chuàng)建一個Windows組件,然后把其接口以COM形式發(fā)布即可。

  二.本文中介紹的程序設(shè)計(jì)及運(yùn)行環(huán)境:

  (1).微軟視窗2000 服務(wù)器版?!?br /> ?。?).Visual Studio .Net 2003企業(yè)結(jié)構(gòu)版,.Net Framework SDK 4322。

  三.使用Visual C#創(chuàng)建Windows組件:

  以下是使用Visual C#創(chuàng)建一個Windows組件的實(shí)現(xiàn)步驟:
  1.啟動Visual Studio .Net。
  2.選擇菜單【文件】|【新建】|【項(xiàng)目】后,彈出【新建項(xiàng)目】對話框。
  3.將【項(xiàng)目類型】設(shè)置為【Visual C#項(xiàng)目】。
  4.將【模板】設(shè)置為【類庫】。
  5.在【名稱】文本框中輸入【ActiveXDotNet】。
  6.在【位置】的文本框中輸入【C:/Class】,然后單擊【確定】按鈕,則Visual C#則在"C:/Class"目錄中創(chuàng)建"ActiveXDotNet"文件夾,里面存放的是ActiveXDotNet項(xiàng)目文件,具體如圖01所示:

 

圖01:創(chuàng)建類庫的【新建項(xiàng)目】對話框

  7.選擇【解決方案資源管理器】窗口,并從中上傳Class1.cs文件,因?yàn)榇宋募诒境绦蛑幸呀?jīng)沒有用途了。

  8.選擇【項(xiàng)目】|【添加組件】后,彈出【添加新項(xiàng)】對話框,在此對話框中設(shè)定【模板】為"組件類",設(shè)定【名稱】值為"MyControl.cs"后,單擊【打開】按鈕。則在項(xiàng)目文件中新增一個名稱"MyControl.cs"的文件。具體如圖02所示:
 

圖02:在項(xiàng)目中【添加新項(xiàng)】對話框
四.Visual C#中使用剛封裝的Active X組件:

  以下步驟就是通過Web頁面的方式來測試上面創(chuàng)建組件:

  1. 創(chuàng)建一個名稱為test.htm文件,MyControl就是放在此Web頁面中加以測試的,此文件的內(nèi)容如下:
 
<html>
<body color = white>
<hr>

<font face = arial size = 1>
<OBJECT id = "MyControl1" name = "MyControl1" classid = "ActiveXDotNet.dll#ActiveXDotNet.MyControl" width = 288 height = 72 >
</OBJECT>
</font>

<form name = "frm" id = "frm" >
<input type = "text" name = "txt" value = "請輸入數(shù)據(jù):" ><input type = button value = "確定" onClick = "doScript ( ) ; ">
</form>
<hr>
</body>

<script language = "javascript">
function doScript ( )
{
 MyControl1.UserText = frm.txt.value ;
}
</script>
</html>

  2. 把產(chǎn)生的"test.htm"和"ActiveXDotNet.dll"文件全部都拷貝到機(jī)器的虛擬目錄下,一般來說虛擬目錄是"C:/Inetpub/wwwroot"。

  3. 打開瀏覽器,在瀏覽器的地址欄中輸入"http://localhost/test.htm"后,單擊"轉(zhuǎn)到"按鈕,則會得到如下的運(yùn)行界面:
 

圖04:測試用Visual C#產(chǎn)生的Active X組件的運(yùn)行界面

  至此Visual C#產(chǎn)生的Active X組件和測試這個組件的全部工作就完成了。

  五.總結(jié):

  雖然本文介紹的方法的確能夠方便的解決Web頁面中很多棘手的問題,本文介紹用Visual C#產(chǎn)生的組件的在實(shí)用性上的確非常的類似Active X組件,但從本質(zhì)上說,本文產(chǎn)生的組件并不是真正意義上的Active X組件。如要使用本文所創(chuàng)建的組件,必須在Web頁面所在機(jī)器上安裝.Net框架,客戶端訪問Web頁面時,也不會真正下載本文介紹的組件,從而也不需要設(shè)定計(jì)算機(jī)的安全級別就能夠訪問使用此組件的Web頁面??梢姳疚漠a(chǎn)生的組件其實(shí)質(zhì)也是一個托管的代碼文件。它只是巧妙的用定義接口的方式來告訴COM/COM+對象,本組件有一個可供訪問的公用屬性,通過對此屬性的讀寫操作,完成類似Active X組件的工作。
9. 把Visual Studio .Net的當(dāng)前窗口切換到【MyControl.cs(設(shè)計(jì))】窗口,并從【工具箱】中的【W(wǎng)indows窗體組件】選項(xiàng)卡中往設(shè)計(jì)窗體中按順序拖入下列組件:

  一個GroupBox組件,并向此組件中再拖入,

  一個TextBox組件和一個Lable組件。

  10. 把Visual Studio .Net的當(dāng)前窗口切換到【MyControl.cs】代碼編輯窗口,并用下列代碼替換MyControl.cs中的InitializeComponent過程,下列代碼是初始化上述加入的組件:
 
private void InitializeComponent ( )
{
 this.groupBox1 = new System.Windows.Forms.GroupBox ( ) ;
 this.txtUserText = new System.Windows.Forms.TextBox ( ) ;
 this.label1 = new System.Windows.Forms.Label ( ) ;
 this.groupBox1.SuspendLayout ( ) ;
 this.SuspendLayout ( ) ;
 this.groupBox1.Controls.Add ( this.txtUserText ) ;
 this.groupBox1.Controls.Add ( this.label1 ) ;
 this.groupBox1.Location = new System.Drawing.Point ( 8 , 8 ) ;
 this.groupBox1.Name = "groupBox1" ;
 this.groupBox1.Size = new System.Drawing.Size ( 272 , 56 ) ;
 this.groupBox1.TabIndex = 0 ;
 this.groupBox1.TabStop = false ;
 this.groupBox1.Text = "Visual Studio .Net創(chuàng)建的Active X組件" ;
 this.txtUserText.Enabled = false ;
 this.txtUserText.Location = new System.Drawing.Point ( 84 , 20 ) ;
 this.txtUserText.Name = "txtUserText" ;
 this.txtUserText.Size = new System.Drawing.Size ( 180 , 21 ) ;
 this.txtUserText.TabIndex = 1 ;
 this.txtUserText.Text = "" ;
 this.label1.Location = new System.Drawing.Point ( 8 , 24 ) ;
 this.label1.Name = "label1" ;
 this.label1.Size = new System.Drawing.Size ( 66 , 16 ) ;
 this.label1.TabIndex = 0 ;
 this.label1.Text = "輸入信息:" ;
 this.Controls.Add ( this.groupBox1 ) ;
 this.Name = "MyControl" ;
 this.Size = new System.Drawing.Size ( 288 , 72 ) ;
 this.groupBox1.ResumeLayout ( false ) ;
 this.ResumeLayout ( false ) ;
}

  至此【ActiveXDotNet】項(xiàng)目創(chuàng)建的Active X組件的界面就基本完成了,具體如圖03所示:
 

圖03:【ActiveXDotNet】項(xiàng)目創(chuàng)建的Active X組件的設(shè)計(jì)界面

  11. 在MyControl.cs中的【MyControl 的摘要說明】代碼區(qū)中添加下列代碼,以下代碼是定義一個公用的接口,此接口是告訴COM/COM+,這兒有一個公用的屬性可以進(jìn)行讀寫操作:
 
public interface AxMyControl
{
 String UserText { set ; get ; }
}

  12. 在MyControl.cs的【MyControl】class代碼區(qū)中添加下列代碼,以下代碼是首先定義一個私有的字符串,用此字符串來保存從Web測試頁面中傳遞來的數(shù)值定義一個公用屬性,在接下來的Web測試頁面中,將通過這個屬性來傳遞數(shù)值,此屬性是可讀寫:
 
private String mStr_UserText ;
public String UserText
{
 get { return mStr_UserText ; }
 set
 {
  mStr_UserText = value ;
  //修改組件的數(shù)值
  txtUserText.Text = value ;
 }
}

  13. 保存上面的修改步驟,至此我們就利用Visual C#創(chuàng)建了一個名稱為MyControl的class,這也就是用Visual C#封裝的、酷似Active X組件的組件。

  14. 單擊快捷鍵【Ctrl+F5】,則Visual C#會自動完成編譯,并在"C:/Class/ActiveXDotNet/bin/Debug"目錄生成一個名稱為"ActiveXDotNet.dll"文件,這就是產(chǎn)生的組件。

  以下是經(jīng)過上述步驟產(chǎn)生的MyControl.cs的全部代碼:
 
using System ;
using System.Collections ;
using System.ComponentModel ;
using System.Drawing ;
using System.Data ;
using System.Windows.Forms ;
namespace ActiveXDotNet
{
 public interface AxMyControl
 {
  String UserText { set ; get ; }
 }
 /// <summary>
 /// MyControl 的摘要說明。
 /// </summary>
 public class MyControl : System.Windows.Forms.UserControl , AxMyControl
 {
  /// <summary>
  /// 必需的設(shè)計(jì)器變量。
  /// </summary>
  private System.ComponentModel.Container components = null ;
  private System.Windows.Forms.GroupBox groupBox1 ;
  private System.Windows.Forms.Label label1 ;
  private System.Windows.Forms.TextBox txtUserText ;
  private String mStr_UserText ;
  public String UserText
  {
   get { return mStr_UserText ; }
   set
   {
    mStr_UserText = value ;
    //修改組件的數(shù)值
    txtUserText.Text = value ;
   }
  }
  public MyControl ( )
  {
   // 該調(diào)用是 Windows.Forms 窗體設(shè)計(jì)器所必需的。
   InitializeComponent ( ) ;

   // TODO: 在 InitializeComponent 調(diào)用后添加任何初始化
  }
  /// <summary>
  /// 清理所有正在使用的資源。
  /// </summary>
  protected override void Dispose ( bool disposing )
  {
   if ( disposing )
   {
    if ( components != null )
    {
     components.Dispose ( ) ;
    }
   }
   base.Dispose ( disposing ) ;
  }
  #region 組件設(shè)計(jì)器生成的代碼
  /// <summary>
  /// 設(shè)計(jì)器支持所需的方法 - 不要使用代碼編輯器
  /// 修改此方法的內(nèi)容。
  /// </summary>
  private void InitializeComponent ( )
  {
   this.groupBox1 = new System.Windows.Forms.GroupBox ( ) ;
   this.txtUserText = new System.Windows.Forms.TextBox ( ) ;
   this.label1 = new System.Windows.Forms.Label ( ) ;
   this.groupBox1.SuspendLayout ( ) ;
   this.SuspendLayout ( ) ;
   this.groupBox1.Controls.Add ( this.txtUserText ) ;
   this.groupBox1.Controls.Add ( this.label1 ) ;
   this.groupBox1.Location = new System.Drawing.Point ( 8 , 8 ) ;
   this.groupBox1.Name = "groupBox1" ;
   this.groupBox1.Size = new System.Drawing.Size ( 272 , 56 ) ;
   this.groupBox1.TabIndex = 0 ;
   this.groupBox1.TabStop = false ;
   this.groupBox1.Text = "Visual C#創(chuàng)建的Active X組件" ;
   this.txtUserText.Enabled = false ;
   this.txtUserText.Location = new System.Drawing.Point ( 84 , 20 ) ;
   this.txtUserText.Name = "txtUserText" ;
   this.txtUserText.Size = new System.Drawing.Size ( 180 , 21 ) ;
   this.txtUserText.TabIndex = 1 ;
   this.txtUserText.Text = "" ;
   this.label1.Location = new System.Drawing.Point ( 8 , 24 ) ;
   this.label1.Name = "label1" ;
   this.label1.Size = new System.Drawing.Size ( 66 , 16 ) ;
   this.label1.TabIndex = 0 ;
   this.label1.Text = "輸入信息:" ;
   this.Controls.Add ( this.groupBox1 ) ;
   this.Name = "MyControl" ;
   this.Size = new System.Drawing.Size ( 288 , 72 ) ;
   this.groupBox1.ResumeLayout ( false ) ;
   this.ResumeLayout ( false ) ;
  }
  #endregion
 }
}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
黄色毛片免费| 一本一道久久a久久精品逆3p| 性久久久久久久久久| 嫩草伊人久久精品少妇av杨幂| 91精品免费观看| 日韩美女激情视频| 久久精品xxx| 美女福利精品视频| 中文字幕男人天堂| 在线观看国产区| 久久综合给合久久狠狠色| 成人综合一区| 国产成人av福利| jizz一区二区| 国产视频一区不卡| 成人在线激情视频| 国产亚洲一区二区在线| 久久久久久91| 亚洲av无码一区二区二三区| 国产日本精品| 国产精品网站入口| 国产三级精品在线不卡| 精品三级av| 麻豆国产欧美一区二区三区| 亚洲大胆人体大胆做受1| www.免费av| 狠狠干狠狠搞| 国产一区二区电影| 亚洲毛片在线免费观看| 播九公社成人综合网站| www.激情小说.com| 久久国产黄色片| 97一区二区三区| 18禁网站免费无遮挡无码中文| 久久精品亚洲乱码伦伦中文| 欧美日韩影院| 91免费在线播放视频| 亚洲日本黄色片| 特级西西444www大精品视频| 最新不卡av| av在线不卡电影| 日本一区二区乱| 欧美在线一二三区| 九九爱在线视频观看免费视频| 一区二区三区四区高清精品免费观看| 成人精品影视| 成人中文在线| 91综合精品国产丝袜长腿久久| 亚洲一区不卡在线| 免费在线观看a级片| a视频网址在线观看| 国产日韩欧美第一页| 热99re久久精品精品免费| 9191成人精品久久| 国产在线观看91| 国产不卡一卡2卡三卡4卡5卡在线| 国产麻豆高清视频在线第一页| 久久神马影院| 日韩久久免费电影| 欧美日本韩国一区二区| 成年人黄色电影| 亚洲免费观看在线| 久久精品无码一区二区三区| 性欧美办公室18xxxxhd| 成年人午夜久久久| 国产在线精品视频| 日韩精品在线播放视频| 91手机视频在线观看| 成人av.网址在线网站| 欧美日本中文字幕| 午夜av免费观看| 性生活免费观看视频| 亚洲激情久久| 日本精品一区二区三区四区的功能| 久草在线资源网站| 熟妇无码乱子成人精品| 暖暖视频在线免费观看| 精品少妇人欧美激情在线观看| 久久精品国产久精国产爱| 亚洲一区图片| 91欧美精品成人综合在线观看| 亚洲女人天堂色在线7777| 91丨porny丨对白| 农村寡妇一区二区三区| 欧美成人久久久| 波多野结衣中文字幕在线| 久草中文视频| 欧美视频在线播放一区| 亚洲欧美日本在线| 漂亮人妻被中出中文字幕| 亚洲码无人客一区二区三区| 一道本一区二区| 久久福利视频网| 第一页在线观看| 免费看的国产视频网站| 欧美一级片免费观看| 91人妻一区二区三区| 色噜噜狠狠一区二区三区狼国成人| 色婷婷亚洲一区二区三区| 中文字幕av一区二区三区人妻少妇| 在线视频欧美一区| а√天堂www在线а√天堂视频| 欧美专区在线观看| 免费看成人午夜电影| 国产xxx69麻豆国语对白| 成人短剧在线观看| 欧美日日夜夜| 欧美黄色成人网| 原纱央莉成人av片| 鲁丝一区鲁丝二区鲁丝三区| 午夜精彩视频在线观看不卡| 亚洲av人人澡人人爽人人夜夜| 亚洲欧美经典视频| 在线一区二区三区四区五区| 亚洲第一激情av| 国产美女视频免费看| 国产精品伦一区二区| 欧美wwwwxxxx| 日韩aaa久久蜜桃av| 国产一区二区三区四区三区四| 天天干在线观看| 一本一本a久久| 欧美福利小视频| 欧美gvvideo网站| 亚洲AV无码国产精品午夜字幕| 天天综合中文字幕| 91精品国产综合久久久久久久久久| 99福利在线观看| 美女脱光衣服与内衣内裤一区二区三区四区| 欧美电视剧在线看免费| 欧美群妇大交群中文字幕| 熟年交尾五十路视频在线播放| 国产真实乱全部视频| av网页在线观看| 欧美一区二区中文字幕| 国产一区二区精品丝袜| 亚洲青青青在线视频| 91精品店在线| 116极品美女午夜一级| 99精品国产99久久久久久97| 99亚洲一区二区| 欧美成人短视频| 久草网在线观看| 久色乳综合思思在线视频| 美女在线一区二区| 欧美日韩精品一区二区天天拍小说| 午夜精品视频一区| 亚洲激情av| 精品在线观看国产| 国产丝袜控视频在线观看| 亚洲一区二区三区视频| 男女日批视频在线观看| 亚洲精品免费在线观看视频| 亚洲毛片一区| 欧美14一18处毛片| 国产精品资源在线观看| 9999热视频在线观看| 国产尤物精品| 99国精产品一二二线| 农村寡妇一区二区三区| 人禽交欧美网站免费| 精品少妇久久久久久888优播| 狠狠色综合一区二区| 欧美女优在线视频| 午夜伦理福利在线| 色婷婷综合久久久中文字幕| 日韩大胆成人| 久久99热狠狠色一区二区| 国产福利视频一区| a级片免费在线观看| 成人爽a毛片一区二区| 91精品国产品国语在线不卡| 无码任你躁久久久久久久| 69视频在线播放| 免费成人在线观看视频| 精品网站www| 中文字幕在线亚洲| 免费在线观看一级毛片| 自拍日韩亚洲一区在线| 日本婷婷久久久久久久久一区二区| 精品视频久久久久| 国产成人综合网站| 国产精品人人妻人人爽| 精品成人在线视频| 欧美午夜视频一区二区| 九九精品视频在线看| 奇米影视第四色777| 黄色精品视频在线观看| 一二三四视频在线社区中文字幕2| 亚洲成人av高清| 色偷偷精品视频在线播放| 日韩高清不卡av| 欧美精品一区二区三区在线四季| 蜜桃在线视频| 日韩不卡一二三区| 祥仔av免费一区二区三区四区| xxx中文字幕| 国产aⅴ精品一区二区四区| 久久综合中文字幕| 91传媒视频在线观看| 欧美激情视频在线播放| 国产精品电影| 国产精品va在线观看视色| 亚洲va韩国va欧美va精四季| 国产精品久久久久久久一区探花| 欧美乱大交xxxxx另类电影| 亚洲在线观看| 亚洲美女在线免费观看| 色资源在线观看| 亚洲免费专区| 成人黄色免费网址| www三级免费| 国产精品一二三在| 最近的2019中文字幕免费一页| 国产黄色片在线播放| 欧美美女在线直播| 国产无遮挡在线观看| 超碰97在线资源| 在线亚洲一区二区| 午夜电影网亚洲视频| 久久成人免费日本黄色| 国产精品夜夜夜爽阿娇| 天天操天天射天天爽| aⅴ在线视频男人的天堂| 又爽又大又黄a级毛片在线视频| 亚洲色图在线播放| 久久爱www久久做| 亚洲欧洲视频| 一本色道久久综合亚洲精品不| 欧美亚洲丝袜| 国产一区二区在线观| 综合中文字幕亚洲| 99国产精品久久久久久久久久| 五月综合激情| 成人午夜在线视频一区| 激情久久综合| 国产九色porn网址| 亚州av乱码久久精品蜜桃| 91av免费观看91av精品在线| 99er热精品视频| 一区二区视频在线观看| 人妻有码中文字幕| 色天使色偷偷av一区二区| 四虎1515hh.com| 国产精品社区| 青青青草原在线| 欧美亚洲免费| 福利一区二区三区视频在线观看| 精品日本一线二线三线不卡| 青青草免费在线视频| 97久久人人超碰caoprom| 狠狠色噜噜狠狠狠888奇米| 日韩视频在线免费看| 日韩一本大道| 国产欧美在线观看视频| 欧美成人免费网| 亚洲成人av在线| 欧美xxxx在线| 国产日韩欧美激情| 91综合久久一区二区| 熟妇人妻中文av无码| 日韩大尺度在线观看| 特黄aaaaaaaaa真人毛片| 精品国产一区二区三区av性色| 欧美精品影院| 97精品中文字幕| 久久中文亚洲字幕| 男人天堂avav| 97视频国产在线| 欧洲视频一区二区| 高清1区2区| 久久亚区不卡日本| 免费在线一区二区三区| 日韩二区三区在线| 国产网站在线免费观看| 欧美 日韩 人妻 高清 中文| 欧美乱大交xxxxx免费| 欧美一级日本a级v片| 欧美一区二区三区精品| 国产成人1区| 欧美男女视频| 日本久久一级片| 国产日韩av高清| 亚洲一区三区在线观看| 69xxx免费| 黄色小视频免费网站| 欧美影视一区在线| 91亚洲精品乱码久久久久久蜜桃| 亚洲高清不卡| 黄色网在线播放| 国产精品系列在线| 亚洲精品国产精品乱码不99| 日韩**中文字幕毛片| 中文字幕在线1| 欧美日韩一区二区三区在线播放| 91亚洲精品久久久蜜桃网站| 影音先锋亚洲视频| 日韩欧美午夜| 精品美女在线播放| 正在播放精油久久| 黄色福利视频网站| 婷婷开心激情网| 精品视频在线观看一区| 在线精品国产成人综合| 欧美精品午夜| 小明成人免费视频一区| 成人午夜视频网站| 色婷婷av一区二区三区之红樱桃| 麻豆久久一区二区| 国产成人精品视频在线| 香蕉视频在线观看www| 欧洲激情一区二区| 国产性xxxx18免费观看视频| 亚洲视频网站在线观看| 国产精品美女久久久久久免费| 久久久久久999| 久久久久久婷| 久久综合久久久| 图片区小说区区亚洲影院| 国产18精品乱码免费看| 国产亚洲精品精品精品| 日韩欧美精品在线不卡| 永久免费网站视频在线观看| 羞羞的视频免费| 欧美黄色大片在线观看| 欧美猛男同性videos| 欧美一级电影在线| 天天操综合网|