日本免费精品_最新日韩一区_亚洲视频一区在线_a在线视频观看_天天射夜夜骑_粉嫩av一区二区三区_欧美中日韩免费视频_综合图区欧美_国内精品美女在线观看_午夜精品久久久久久久男人的天堂

首頁 > 編程 > C# > 正文

Visual C#創建和使用ActiveX組件

2023-05-18 12:33:13
字體:
來源:轉載
供稿:網友

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

  一.Visual C#和Active X組件:

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

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

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

  二.本文中介紹的程序設計及運行環境:

  (1).微軟視窗2000 服務器版。 
  (2).Visual Studio .Net 2003企業結構版,.Net Framework SDK 4322。

  三.使用Visual C#創建Windows組件:

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

 

圖01:創建類庫的【新建項目】對話框

  7.選擇【解決方案資源管理器】窗口,并從中上傳Class1.cs文件,因為此文件在本程序中已經沒有用途了。

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

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

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

  1. 創建一個名稱為test.htm文件,MyControl就是放在此Web頁面中加以測試的,此文件的內容如下:
 
<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 = "請輸入數據:" ><input type = button value = "確定" onClick = "doScript ( ) ; ">
</form>
<hr>
</body>

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

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

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

圖04:測試用Visual C#產生的Active X組件的運行界面

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

  五.總結:

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

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

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

  10. 把Visual Studio .Net的當前窗口切換到【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創建的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】項目創建的Active X組件的界面就基本完成了,具體如圖03所示:
 

圖03:【ActiveXDotNet】項目創建的Active X組件的設計界面

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

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

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

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

  以下是經過上述步驟產生的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>
  /// 必需的設計器變量。
  /// </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 ;
    //修改組件的數值
    txtUserText.Text = value ;
   }
  }
  public MyControl ( )
  {
   // 該調用是 Windows.Forms 窗體設計器所必需的。
   InitializeComponent ( ) ;

   // TODO: 在 InitializeComponent 調用后添加任何初始化
  }
  /// <summary>
  /// 清理所有正在使用的資源。
  /// </summary>
  protected override void Dispose ( bool disposing )
  {
   if ( disposing )
   {
    if ( components != null )
    {
     components.Dispose ( ) ;
    }
   }
   base.Dispose ( disposing ) ;
  }
  #region 組件設計器生成的代碼
  /// <summary>
  /// 設計器支持所需的方法 - 不要使用代碼編輯器
  /// 修改此方法的內容。
  /// </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#創建的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
 }
}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
福利一区二区| 精品久久久网| www日韩欧美| 欧美日韩在线三级| 精品无人国产偷自产在线| 精品成人久久久| 欧美日韩激情一区| 日韩欧美视频一区二区三区四区| 一区二区三区在线免费| 91精品在线观看国产| 区日韩二区欧美三区| 在线观看精品国产| 免费网站看黄yyy222| 99久热re在线精彩视频| 日韩在线中文字幕| 日韩不卡一二区| 国产无遮挡在线视频免费观看| 黄污视频在线看| 国产欧美日韩第一页| 国产在线欧美日韩| 91精品国产91久久久久久不卡| 本道综合精品| 日韩精品在线视频观看| 国产午夜精品视频免费不卡69堂| 国产欧美日韩精品在线| 久久在线91| 99久久精品国产亚洲| 午夜国产福利在线观看| 欧美日韩国产一级片| 精品成人久久久| 久久久水蜜桃| 欧美日韩三级在线| 欧美日韩在线综合| 欧美三级视频在线| 一区二区中文字幕在线| 国产视频二区| 久久久精品日韩欧美| 欧美日韩久久久| 久久久久久自在自线| 久久91精品国产91久久小草| 一区二区三区精品久久久| 亚洲va久久久噜噜噜久久| 樱花草www在线观看| 欧美日韩三级视频| 久久婷婷中文字幕| 黄色视屏免费在线观看| 91精品在线观| 欧美国产综合在线V| 日本精品在线播放| 欧美在线观看视频一区| 亚洲中文字幕在线一区| 一区二区三区在线免费| 91精品在线观看国产| 日韩 国产 一区| 精品日韩视频在线观看| 国产乱码午夜在线视频| 国内精品露脸在线视频播放| 国产小视频免费在线网址| 91av久久久| 免费在线视频一级不卡| 久久99久久久欧美国产| 精品国产乱码久久久久久蜜臀| 天天摸日日摸狠狠添| 国产成人综合精品| 国产绿帽一区二区三区| 一级片免费网站| 精品国产免费观看一区| 日韩精品视频中文在线观看| 天天综合日日夜夜精品| 中文字幕在线播放一区| 欧美日韩一级片在线观看| 欧美午夜精品在线| 中文精品在线观看| 91九色在线看| 亚洲高清视频在线| 国产欧美日韩精品在线观看| 在线资源av| 日韩色在线观看| 欧美日韩精品免费在线观看视频| 一区二区三区在线|网站| 中文精品在线| 久久久久久99精品| 欧美,日韩,国产在线| 中文字幕第一页在线| 日韩欧美中文字幕在线播放| 91精品无人成人www| 九七久久人人| 91精品久久久久久久久久| 樱花草www在线| 中文字幕亚洲视频| 美女黄a一级视频| 亚洲黄色在线观看| 亚洲图片小说综合| 日韩在线视频网| 999视频精品| 交视频在线观看国产| 精品在线一区二区三区| 免费国产h视频在线观看86| 亚洲第一网中文字幕| 国产不卡在线| 久久精品久久久久| 在线精品视频免费播放| 中文在线а√在线8| a视频免费在线观看| 黄色一区二区在线| 日韩国产成人精品| 亚洲福利精品| 久久激情中文| 高清1区2区| 中文字幕国产欧美| 国产91久久久久蜜臀青青天草二| 中文字幕日韩视频| 在线欧美日韩精品| 日本精品免费观看高清观看| 日韩欧美在线精品| 国产三级视频在线播放线观看| 97久久精品午夜一区二区| 一区二区在线观看不卡| 国产日韩成人精品| 日韩久久在线| 欧美久久久精品| 亚洲视频一二三四| 日韩午夜高潮| 亚洲大片精品永久免费| 在线视频不卡国产V| 欧美婷婷精品激情| 一区免费在线| 视频一区三区| 亚洲一区二区三区精品中文字幕| 在线精品观看| 白嫩少妇丰满一区二区| 樱花草www在线| 在线中文免费视频| 国产丝袜一区二区| 欧美日韩不卡在线视频| 午夜私人影院在线观看| 99精品电影| 亚洲大片免费看| 交视频在线观看国产| 亚洲免费播放| 一级国产黄色片| 精品视频国产| 人妻一区二区三区免费| 精品日韩在线观看| 天天综合天天做| 精品国产31久久久久久| 中文天堂资源在线| 欧美日韩夫妻久久| 国产欧美一级| 欧美 中文字幕| 国产日韩三级| 国产黄在线观看| 91精品视频在线| 最新中文字幕在线播放| 日韩欧美亚洲日产国| 国产欧美日韩精品高清二区综合区| 久久99久久久久久久噜噜| 91麻豆视频网站| 国产 日韩 欧美 综合 一区| 亚洲高清精品视频| 精品国产乱码一区二区| 91精品在线免费| 久久蜜桃一区二区| 中文字幕亚洲二区 | 国产日韩三级| 黄污视频在线看| 中文在线第一页| 99精品在线播放| 日韩精品在线中文字幕| 99久久久精品免费观看国产| 精品久久久精品| 91精品国产色综合久久不卡蜜臀| 99综合视频| 亚洲国产一区自拍| 亚洲免费中文字幕| 精品视频www| 国产成人一区二区精品非洲| 精品福利二区三区| 欧美日韩高清在线| 欧美一级在线免费| 欧美日韩中国免费专区在线看| 亚洲欧美中文字幕| 白嫩少妇丰满一区二区| 91久久精品国产91性色69| 中文字幕久久av| 九一精品国产| 国产亚洲一区字幕| 日本精品二区| 91国内精品在线视频| 久久99蜜桃精品| 国产日韩av高清| wwwwww国产| 99精品电影| 欧美日韩成人一区| 在线观看av的网站| 日韩不卡中文字幕| 欧美乱大交xxxxx免费| 国产高清视频一区二区| 91精品久久久久| 二区中文字幕| 国产日韩av一区二区| 精品国自产在线观看| 中文字幕在线官网| 内射国产内射夫妻免费频道| 亚洲丝袜一区| 亚洲一区中文字幕在线观看| 中文字幕第一页在线播放| 精品1区2区3区| 日韩激情一区| 日韩精品视频免费播放| 日韩精品丝袜在线| 日韩亚洲一区中文字幕| 欧美日韩中文字幕在线| 久久久久蜜桃| 国产69精品久久久久孕妇国产69久久 | 91国内在线| 欧美在线视频一区二区| 国产午夜精品久久| 亚洲а∨精品天堂在线| 久久99久久久久久久噜噜| 在线视频国产三级| wwwav91com| 国产一二三视频| 欧美日韩亚洲天堂| 亚洲一区在线观看视频| 亚洲第一网中文字幕| √天堂资源中文www| 国产不卡的av| 日韩精品在线免费看| 一区二区欧美国产| 亚洲一区精品在线| 亚洲成av人片在线| 欧美三级免费观看| 欧美日韩亚洲视频| 一区二区高清视频| 国产一区深夜福利| 中文字幕在线观看精品| 婷婷中文字幕在线观看| 国产极品嫩模在线视频一区 | 亚洲一区在线观看视频| 国产日韩免费| 色偷偷一区二区三区| 在线视频不卡国产V| 精品国产欧美日韩不卡在线观看| 日韩三级一区二区| 免费在线观看国产黄| 1024国产在线| 亚洲免费观看在线观看| 一本久久a久久精品亚洲| 久久韩国免费视频| 一区二区国产在线| 日韩精品 欧美| 91精品国产91久久久久久青草| 日韩免费视频一区| 在线观看国产一级片| 日韩在线欧美| 国产激情久久久| 999精品在线| 国产成人中文字幕| 日韩一级网站| 国产黄色片大全| 亚洲成在线观看| 亚洲女同中文字幕| 99精品999| 欧美日韩国产一中文字不卡| 最近高清中文在线字幕在线观看1| 国产福利精品导航| 在线观看国产福利视频| 欧美国产综合在线V| 国产高清视频一区二区| 国产欧美高清在线| 精品久久久精品| 国产在线日韩精品| 国产在线www| 黄色一区二区视频| 亚洲a中文字幕| 中文字幕不卡三区| 亚洲视频电影在线| 久精品在线观看| 日韩精品手机在线| 亚洲制服丝袜一区| 日韩在线观看一区| 国产欧美日韩最新| 欧美日韩中文另类| 精品久久久视频| 一区二区三区在线播放欧美| 中文字幕 乱码 中文乱码91| 人人做人人澡人人爽欧美| 日韩视频在线一区二区| 亚州福利视频| 日韩在线播放一区二区| 视频一区二区中文字幕| 日韩欧美国产综合| 国产又粗又猛又爽又黄91精品| 中文字幕精品www乱入免费视频| 日韩视频一区二区在线观看| 日韩欧美中文字幕一区| 美女在线视频一区| 中文字幕在线精品| 在线观看91精品国产入口| 亚洲va中文字幕| 欧美日韩日本视频| 91久久精品国产91久久| 国产欧美日韩最新| 国产在线导航| 国产乱码在线| 九九九精品视频| 91精品国产91久久| 粉嫩喷白浆久久| 亚洲精华国产欧美| 91精品国产经典在线观看| 国产一区久久久| 不卡av免费在线| 日韩精品在线免费播放| 欧美日韩日本视频| 国产wwww| 日韩欧美综合在线| 欧美 日韩 国产在线| 中文字幕一区免费| www日韩欧美| 国产亚洲福利| 日韩免费不卡avV| 欧美特黄一区| 久久99精品久久久久久青青日本 | 久久夜色精品国产噜噜亚洲av| 亚洲国产福利视频| 欧美不卡视频一区| 日韩不卡一二区| 欧美天堂一区二区| 国产欧美日韩最新| 国产日韩精品久久久| 91精品观看| 一区二区三区在线播放视频| 国产久卡久卡久卡久卡视频精品| 国产福利免费在线观看| 亚洲a中文字幕| 亚洲成av人片在线| 日韩欧美国产高清| 在线国产日本| 中文字幕第一页在线播放| 欧美三级中文字幕| 国产裸体歌舞团一区二区| 亚洲女人天堂a在线播放| 欧美,日韩,国产在线| 欧美日韩成人综合| 欧美日韩精品在线| 国产一二三精品| 精品播放一区二区| 中文字幕高清在线播放| 欧美日韩综合在线观看| 亚洲视频在线观看日本a| 精品亚洲国内自在自线福利| 日韩精品资源二区在线| 精品对白一区国产伦| 欧美日韩一级视频| 国产亚洲视频中文字幕视频| 欧美日韩在线综合| 精品国产网站在线观看| 国产亚洲欧美中文| 精品视频在线视频| 国产日韩亚洲欧美| 久久精品久久精品国产大片| 欧美婷婷久久| 久久视频免费看| aa国产成人| 日韩午夜中文字幕| 精品福利在线观看| www.久久久精品| 国产卡1卡2卡三卡在线| 在线亚洲免费| 一区二区三区高清在线| 欧美中文字幕视频| 中文字幕 亚洲一区| 日韩a一区二区| 国产午夜精品久久| 一级特黄aaa大片在线观看| a√免费观看在线网址www| 亚洲福利精品| 91精品在线观看视频| 免费在线观看国产黄| 日韩av中文字幕一区| www高清在线视频日韩欧美| 中文字幕在线视频精品| 色综合婷婷久久| 免费视频中文字幕| 91精品在线国产| 日韩色在线观看| 欧美日韩国产999| 国产高清精品二区| 97国产视频| 日韩美女中文字幕| 国产乱国产乱300精品| 黄色资源在线观看| 欧美日韩日本视频| 91久久中文| 精品久久九九| 日韩中文字幕在线观看视频| 91精品蜜臀在线一区尤物| 免费视频最近日韩| 中文在线视频|