自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C# COM組件開(kāi)發(fā)之界面窗體

開(kāi)發(fā) 后端
這里我們將介紹C# COM組件開(kāi)發(fā)之界面窗體,希望通過(guò)本文能讓大家對(duì)C# COM組件開(kāi)發(fā)有所了解。
C# COM組件開(kāi)發(fā),我們這里將講到的是界面窗體的開(kāi)發(fā)。將從定義接口開(kāi)始,再講類(lèi)的實(shí)現(xiàn)以及用Regasm 工具進(jìn)行注冊(cè)等等,希望對(duì)大家有所幫助。

C# COM組件開(kāi)發(fā)1,定義接口

(1)在接口上方加上[Guid("1EA4DBF0-3C3B-11CF-810C-00AA00389B71")]

(2)在每個(gè)方法上加上[DispId(i)]

  1. using System;  
  2. using System.Runtime.InteropServices;  
  3. namespace Leading.Mis.NewsMonitor  
  4. ......{  
  5.     /**//**//**//// <summary> 
  6.     /// 消息監(jiān)控接口的定義  
  7.     /// </summary> 
  8.     [Guid("1EA4DBF0-3C3B-11CF-810C-00AA00389B71")]  
  9.     public interface INewsMonitor  
  10.     ......{  
  11.         發(fā)送文件時(shí),記錄發(fā)送者,接收者和發(fā)送的文件名發(fā)送文件時(shí),記錄發(fā)送者,接收者和發(fā)送的文件名#region 發(fā)送文件時(shí),記錄發(fā)送者,接收者和發(fā)送的文件名  
  12.         /**//**//**//// <summary> 
  13.         /// 當(dāng)發(fā)送文件時(shí),記錄發(fā)送者,接收者和發(fā)送的文件名  
  14.         /// </summary> 
  15.         /// <param name="strSendID">文件發(fā)送者</param> 
  16.         /// <param name="strTargetID">文件接受者</param> 
  17.         /// <param name="strFileName">文件名</param> 
  18.      [DispId(1)]  
  19.         void SendFile(string strSendID,string strTargetID,string strFileName);  
  20.         #endregion  
  21.           
  22.         接收文件時(shí),記錄文件接收者,發(fā)送者和發(fā)送的文件名接收文件時(shí),記錄文件接收者,發(fā)送者和發(fā)送的文件名#region 接收文件時(shí),記錄文件接收者,發(fā)送者和發(fā)送的文件名  
  23.         /**//**//**//// <summary> 
  24.         /// 接受文件時(shí),記錄文件接收者,發(fā)送者和發(fā)送的文件名  
  25.         /// </summary> 
  26.         /// <param name="strReceiveID">文件接收者</param> 
  27.         /// <param name="strSendID">文件發(fā)送者</param> 
  28.         /// <param name="strFileName">文件名</param> 
  29.         [DispId(2)]  
  30.         void RecvFile(string strReceiveID,string strSendID,string strFileName);  
  31.         #endregion  
  32.           
  33.         文件發(fā)送成功后,記錄發(fā)送者,接收者和發(fā)送的文件名文件發(fā)送成功后,記錄發(fā)送者,接收者和發(fā)送的文件名#region 文件發(fā)送成功后,記錄發(fā)送者,接收者和發(fā)送的文件名  
  34.         /**//**//**//// <summary> 
  35.         /// 文件發(fā)送成功后,記錄發(fā)送者,接收者和發(fā)送的文件名  
  36.         /// </summary> 
  37.         /// <param name="strSendID">文件發(fā)送者</param> 
  38.         /// <param name="strTargetID">文件接收者</param> 
  39.         /// <param name="strFileName">文件名</param> 
  40.         [DispId(3)]  
  41.         void  FileSendOK(string strSendID,string strTargetID,string strFileName);  
  42.         #endregion  
  43.           
  44.         取消文件發(fā)送時(shí),記錄發(fā)送者,接收者和發(fā)送的文件名取消文件發(fā)送時(shí),記錄發(fā)送者,接收者和發(fā)送的文件名#region 取消文件發(fā)送時(shí),記錄發(fā)送者,接收者和發(fā)送的文件名  
  45.         /**//**//**//// <summary> 
  46.         /// 取消文件發(fā)送時(shí),記錄發(fā)送者,接收者和發(fā)送的文件名  
  47.         /// </summary> 
  48.         /// <param name="strCancelID">取消文件發(fā)送者</param> 
  49.         /// <param name="strTargetID">文件發(fā)送對(duì)方</param> 
  50.         /// <param name="strFileName">文件名</param> 
  51.         [DispId(4)]  
  52.         void FileSendCancel(string strCancelID,string strTargetID,string strFileName);  
  53.         #endregion  
  54.           
  55.     } // end interface INewsMonitor  
  56.       
  57. } //end namespace Leading.Mis.NewsMonitor 

C# COM組件開(kāi)發(fā)2,類(lèi)的實(shí)現(xiàn)

(1)在類(lèi)的上方加上 [Guid("1EA4DBF0-3C3B-11CF-810C-00AA00389B71")]
                      [ClassInterface(ClassInterfaceType.None)] 

  1. using System;  
  2. using System.IO;  
  3. using System.Runtime.InteropServices;  
  4.  
  5. namespace Leading.Mis.NewsMonitor  
  6. ......{  
  7.     /**//**//**//// <summary>  
  8.     /// 消息監(jiān)控類(lèi)的實(shí)現(xiàn)  
  9.     /// </summary>  
  10.     [Guid("1EA4DBF0-3C3B-11CF-810C-00AA00389B71")]  
  11.     [ClassInterface(ClassInterfaceType.None)]  
  12.     public class NewsMonitor : INewsMonitor  
  13.     ......{  
  14.         私有字段#region 私有字段  
  15.           
  16.         private string filePath = string.Empty;  
  17.         private string writeLine = string.Empty;  
  18.           
  19.         #endregion  
  20.  
  21.         私有方法#region 私有方法  
  22.           
  23.         private  void NewsMsg()  
  24.         ......{  
  25.             StreamWriter sw = null;  
  26.             if(File.Exists(filePath))  
  27.             ......{  
  28.                 sw = File.AppendText(filePath);  
  29.             }  
  30.             else 
  31.             ......{  
  32.                 FileStream fs = File.Create(filePath);  
  33.                 sw = new StreamWriter(fs);  
  34.             }  
  35.             sw.WriteLine(writeLine);  
  36.             sw.Close();  
  37.         }  
  38.           
  39.         #endregion  
  40.           
  41.         共有方法#region 共有方法  
  42.           
  43.         發(fā)送文件時(shí),記錄發(fā)送者,接收者和發(fā)送的文件名#region 發(fā)送文件時(shí),記錄發(fā)送者,接收者和發(fā)送的文件名  
  44.     /**//// <summary>  
  45.         /// 當(dāng)發(fā)送文件時(shí),記錄發(fā)送者,接收者和發(fā)送的文件名  
  46.     /// </summary>  
  47.         /// <param name="strSendID">文件發(fā)送者</param>  
  48.         /// <param name="strTargetID">文件接受者</param>  
  49.         /// <param name="strFileName">文件名</param>  
  50.                public void SendFile(string strSendID,string strTargetID,string strFileName)  
  51.         ......{  
  52.             filePath = @"c:MsgMonitorSendFile.txt";  
  53.             writeLine = strSendID + " 向 " + strTargetID + " 發(fā)送 < " + strFileName + " > 文件";  
  54.             NewsMsg();  
  55.         }  
  56.         #endregion  
  57.           
  58.      接收文件時(shí),記錄文件接收者,發(fā)送者和發(fā)送的文件名#region 接收文件時(shí),記錄文件接收者,發(fā)送者和發(fā)送的文件名  
  59.     /**//// <summary>  
  60.         /// 接受文件時(shí),記錄文件接收者,發(fā)送者和發(fā)送的文件名  
  61.     /// </summary>  
  62.         /// <param name="strReceiveID">文件接收者</param>  
  63.         /// <param name="strSendID">文件發(fā)送者</param>  
  64.         /// <param name="strFileName">文件名</param>  
  65.                public void RecvFile(string strReceiveID,string strSendID,string strFileName)  
  66.         ......{  
  67.             filePath = @"c:MsgMonitorRecvFile.txt";  
  68.             writeLine = strReceiveID + " 接收到 " + strSendID + " 發(fā)送的 < " + strFileName + " > 文件";  
  69.             NewsMsg();   
  70. }  
  71.         #endregion  
  72.           
  73.         文件發(fā)送成功后,記錄發(fā)送者,接收者和發(fā)送的文件名#region 文件發(fā)送成功后,記錄發(fā)送者,接收者和發(fā)送的文件名  
  74.     /**//// <summary>  
  75.         /// 文件發(fā)送成功后,記錄發(fā)送者,接收者和發(fā)送的文件名  
  76.     /// </summary>  
  77.         /// <param name="strSendID">文件發(fā)送者</param>  
  78.         /// <param name="strTargetID">文件接收者</param>  
  79.         /// <param name="strFileName">文件名</param>  
  80.                public void  FileSendOK(string strSendID,string strTargetID,string strFileName)  
  81.         ......{  
  82.             filePath = @"c:MsgMonitorFileSendOK.txt";  
  83.             writeLine = strSendID + " 已經(jīng)成功向 " + strTargetID + " 發(fā)送 < " + strFileName + " > 文件";  
  84.             NewsMsg();  
  85.         }  
  86.         #endregion  
  87.           
  88.        取消文件發(fā)送時(shí),記錄發(fā)送者,接收者和發(fā)送的文件名#region 取消文件發(fā)送時(shí),記錄發(fā)送者,接收者和發(fā)送的文件名  
  89.     /**//// <summary>  
  90.         /// 取消文件發(fā)送時(shí),記錄發(fā)送者,接收者和發(fā)送的文件名  
  91.     /// </summary>  
  92.         /// <param name="strCancelID">取消文件發(fā)送者</param>  
  93.         /// <param name="strTargetID">文件發(fā)送對(duì)方</param>  
  94.         /// <param name="strFileName">文件名</param>  
  95.                public void FileSendCancel(string strCancelID,string strTargetID,string strFileName)  
  96.         ......{  
  97.             filePath = @"c:MsgMonitorFileSendCancel.txt";  
  98.             writeLine = strCancelID + " 取消和 " + strTargetID + " 發(fā)送 < " + strFileName + " > 文件";  
  99.             NewsMsg();  
  100.         }  
  101.         #endregion  
  102.           
  103.         #endregion   
  104.     } // end class NewsMonitor  
  105.       
  106. //end namespace Leading.Mis.NewsMonitor 

C# COM組件開(kāi)發(fā)3,用 Regasm 工具進(jìn)行注冊(cè)

  1. Regasm NewsMsg.dll / tlb: NewsMsg.tlb 

【編輯推薦】

  1. C#參差數(shù)組初始化概述
  2. C#數(shù)組初始化全面分析
  3. C#一維數(shù)組和多維數(shù)組淺談
  4. C#參差數(shù)組初始化概述
  5. C#動(dòng)態(tài)數(shù)組實(shí)例介紹
責(zé)任編輯:彭凡 來(lái)源: itgrass
相關(guān)推薦

2009-08-20 11:03:34

Visual C#使用

2009-08-21 09:14:47

C# Excel CO

2009-09-02 16:43:55

C#調(diào)用Excel的C

2009-09-24 15:10:54

C#調(diào)用COM組件

2009-08-03 14:36:08

c#組件

2009-09-07 06:18:57

C#窗體設(shè)計(jì)器

2009-09-18 19:09:41

C# COM組件

2009-07-03 10:33:07

C#創(chuàng)建COM組件

2009-08-10 14:23:39

C# Setting

2009-08-20 10:10:55

C#透明窗體

2009-09-24 14:59:38

C#編寫(xiě)COM組件

2024-07-03 08:21:56

MDI窗體界面

2009-09-16 13:05:32

C#組件開(kāi)發(fā)

2024-07-09 17:09:49

C#開(kāi)發(fā)Windows窗體

2009-09-07 06:31:32

C#窗體移動(dòng)

2009-08-28 15:58:54

C#窗體里調(diào)用

2009-09-07 04:19:56

C#窗體事件

2009-09-07 06:48:13

C#透明窗體

2009-09-07 06:07:46

C#窗體設(shè)計(jì)

2009-08-13 10:42:31

C#窗體拖動(dòng)事件
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)