CARA: Menangani peristiwa untuk Office 2003 Web komponen dalam Visual Studio.NET

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 823982 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Artikel ini selangkah demi selangkah menjelaskan cara memodifikasi kelas pembungkus untuk Microsoft Office 2003 Web komponen. Itu kemudian menjelaskan cara menumbuhkan pembungkus kelas sehingga Anda dapat mengatur acara mereka dalam sebuah aplikasi yang Anda buat dengan menggunakan Microsoft Visual Studio.NET.

Secara default, kelas pembungkus bahwa Microsoft Visual Studio.NET menghasilkan tidak mengizinkan Anda untuk menangani peristiwa untuk Office 2003 Web komponen-komponen berikut:
  • Bagan
  • Spreadsheet
  • PivotTable
Untuk menangani peristiwa-peristiwa untuk komponen-komponen ini, Anda dapat memodifikasi kode sumber untuk kelas pembungkus, dan mengkompilasi ulang kode.

Latar belakang

Microsoft Visual Studio.NET menghasilkan pendengar acara kelas yang mengimplementasikan peristiwa antarmuka. Ini pendengar acara kelas dilewatkan ke kantor Web komponen (OWC). OWC kemudian panggilan QueryInterface metode untuk IDispatch antarmuka, alih-alih memanggil peristiwa antarmuka. Namun, IDispatch antarmuka untuk kelas yang dihasilkan tidak berisi pengidentifikasi pengiriman (DISPIDs) untuk peristiwa-peristiwa.

Untuk mengatasi masalah ini, Anda dapat menandai kelas dihasilkan dengan menggunakanClassInterfaceType.None nilai untuk memaksa COM interop kembali IDispatch untuk antarmuka bukan untuk kelas. The IDispatch antarmuka berisi acara DISPIDs.

Langkah-langkah untuk mengubah dan untuk membangun kembali kelas pembungkus

  1. Mulai Visual Studio.NET prompt perintah.
  2. Pada prompt perintah, lakukan hal berikut:
    1. Ciptakan sebuah direktori baru yang bernama owc11, dan kemudian mengubah ke direktori tersebut:
      MD c:\owc11

      CD c:\owc11
    2. Menghasilkan kode sumber dalam C# untuk Microsoft Windows Forms pembungkus:
      aximp "c: program files Microsoft Shared Web components\11\owc11.dll" /source
    3. Menghapus Majelis dihasilkan AxOWC11.dll:
      del c:\owc11\axowc11.dll
  3. Dalam editor teks (seperti Notepad), membuka C:\OWC11\AxOWC11.cs.
  4. Tambahkan[ToolboxItem(true)] kelas dihasilkan untuk Bagan komponen, Spreadsheet komponen, dan PivotTable komponen, seperti dalam contoh berikut:

    Bagan komponen
     [System.ComponentModel.ToolboxItem(true)] 
     public class AxChartSpace : System.Windows.Forms.AxHost { 
      	... 
     } 
    Spreadsheet komponen
     [System.ComponentModel.ToolboxItem(true)] 
     public class AxSpreadsheet : System.Windows.Forms.AxHost {
     	 ... 
     } 
    PivotTable komponen
     [System.ComponentModel.ToolboxItem(true)] 
     public class AxPivotTable : System.Windows.Forms.AxHost {
     	 ... 
     } 
  5. Menandai peristiwa kelas sebagaiClassInterfaceType.None, seperti dalam contoh berikut:

    Bagan komponen
     [System.Runtime.InteropServices.ClassInterface( 
      System.Runtime.InteropServices.ClassInterfaceType.None)] 
     public class AxChartSpaceEventMulticaster : OWC11.IChartEvents {
     	 ...
      } 
    Spreadsheet komponen
     [System.Runtime.InteropServices.ClassInterface( 
      System.Runtime.InteropServices.ClassInterfaceType.None)]
     public class AxSpreadsheetEventMulticaster : OWC11.ISpreadsheetEventSink {
     	 ...
     } 
    PivotTable komponen
     [System.Runtime.InteropServices.ClassInterface( 
      System.Runtime.InteropServices.ClassInterfaceType.None)] 
     public class AxPivotTableEventMulticaster : OWC11.IPivotControlEvents {
     	 ... 
     } 
  6. Simpan perubahan Anda ke AxOWC11.cs.
  7. Pada Visual Studio.NET prompt perintah, lakukan hal berikut:
    1. Tambahkan C:\Program Files\Microsoft.NET\Primary Interop Majelis untuk AndaLIB variabel lingkungan:
      mengatur lib = c:\program files\microsoft.net\primary interop Majelis; jalan %
    2. Salin Microsoft.Office.Interop.OWC11.dll dan MSComCtl.dll dari GAC di mana Microsoft Office 2003 utama Interop Majelis diinstal:
      menyalin %windir%\assembly\GAC\Microsoft.Office.Interop.Owc11\11.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Owc11.dll

      menyalin %windir%\assembly\GAC\mscomctl\10.0.4504.0__31bf3856ad364e35\mscomctl.dll
    3. Mengkompilasi file sumber, AxOWC11.cs:
      CSC /t:library /r:microsoft.office.interop.owc11.dll /r:adodb.dll /r:msdatasrc.dll /r:mscomctl.dll axowc11.cs
      Catatan Anda menerima pesan galat CS0108 berikut:
      Kata kunci baru diperlukan
      Anda dapat mengabaikan kesalahan ini.
  8. Mulai Visual Studio.NET.
  9. Menambahkan Anda baru-disusun AxOWC11.dll untuk Toolbox:
    1. PadaAlat menu, klikMenyesuaikan Toolbox (dalam Visual Studio.NET 2002), atau klik Tambah/Hapus item Toolbox (dalam Visual Studio.NET 2003), dan kemudian klik .NET Framework komponen tab.
    2. Pada.NET Framework komponen tab, klikPeople.
    3. Dalam Nama file kotak teks, ketikc:\owc11\axowc11.dll. KlikTerbuka.
    4. KlikOke untuk menutupMenyesuaikan Toolbox kotak dialog.
Bila Anda membuat baru Microsoft Visual Basic.Proyek NET atau baru Microsoft Visual C#.NET proyek, perhatikan bahwa daftar kontrol pada General tab di Toolbox berisi AxChartSpace kontrol, AxPivotTable kontrol, dan AxSpreadsheet kontrol. Anda sekarang dapat menambahkan komponen ini untuk formulir.

REFERENSI

Untuk informasi tambahan tentang mengelola acara untuk Office XP Web komponen dengan menggunakan Visual Studio.NET, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
328275CARA: Menangani peristiwa untuk Office Web Components dalam Visual Studio.NET

Properti

ID Artikel: 823982 - Kajian Terakhir: 07 Oktober 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
Kata kunci: 
kbpia kbofficewebspread kbofficewebpivot kbofficewebchart kbhowto kbmt KB823982 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:823982

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com