Form1.cs
上传用户:hx800c
上传日期:2020-12-02
资源大小:792k
文件大小:7k
源码类别:

编辑框

开发平台:

Visual Basic

  1. using System;
  2. using System.Drawing;
  3. using System.Collections;
  4. using System.ComponentModel;
  5. using System.Windows.Forms;
  6. using System.Data;
  7. namespace PEocxCSharp
  8. {
  9. /// <summary>
  10. /// Form1 的摘要说明。
  11. /// </summary>
  12. public class Form1 : System.Windows.Forms.Form
  13. {
  14. private AxWEBRLib.AxWebR axWebR1;
  15. private AxPEOCXLib.AxPEOcx axPEOcx1;
  16. private System.Windows.Forms.Button button1;
  17. private System.Windows.Forms.Button button3;
  18. /// <summary>
  19. /// 必需的设计器变量。
  20. /// </summary>
  21. private System.ComponentModel.Container components = null;
  22. public Form1()
  23. {
  24. //
  25. // Windows 窗体设计器支持所必需的
  26. //
  27. InitializeComponent();
  28. //
  29. // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
  30. //
  31. }
  32. /// <summary>
  33. /// 清理所有正在使用的资源。
  34. /// </summary>
  35. protected override void Dispose( bool disposing )
  36. {
  37. if( disposing )
  38. {
  39. if (components != null) 
  40. {
  41. components.Dispose();
  42. }
  43. }
  44. base.Dispose( disposing );
  45. }
  46. #region Windows 窗体设计器生成的代码
  47. /// <summary>
  48. /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  49. /// 此方法的内容。
  50. /// </summary>
  51. private void InitializeComponent()
  52. {
  53. System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(Form1));
  54. this.axWebR1 = new AxWEBRLib.AxWebR();
  55. this.axPEOcx1 = new AxPEOCXLib.AxPEOcx();
  56. this.button1 = new System.Windows.Forms.Button();
  57. this.button3 = new System.Windows.Forms.Button();
  58. ((System.ComponentModel.ISupportInitialize)(this.axWebR1)).BeginInit();
  59. ((System.ComponentModel.ISupportInitialize)(this.axPEOcx1)).BeginInit();
  60. this.SuspendLayout();
  61. // 
  62. // axWebR1
  63. // 
  64. this.axWebR1.Enabled = true;
  65. this.axWebR1.Location = new System.Drawing.Point(16, 8);
  66. this.axWebR1.Name = "axWebR1";
  67. this.axWebR1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axWebR1.OcxState")));
  68. this.axWebR1.Size = new System.Drawing.Size(360, 192);
  69. this.axWebR1.TabIndex = 0;
  70. // 
  71. // axPEOcx1
  72. // 
  73. this.axPEOcx1.Enabled = true;
  74. this.axPEOcx1.Location = new System.Drawing.Point(16, 232);
  75. this.axPEOcx1.Name = "axPEOcx1";
  76. this.axPEOcx1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axPEOcx1.OcxState")));
  77. this.axPEOcx1.Size = new System.Drawing.Size(360, 96);
  78. this.axPEOcx1.TabIndex = 1;
  79. this.axPEOcx1.EditKeyDown += new AxPEOCXLib._DPEOcxEvents_EditKeyDownEventHandler(this.axPEOcx1_EditKeyDown);
  80. this.axPEOcx1.SendFile += new AxPEOCXLib._DPEOcxEvents_SendFileEventHandler(this.axPEOcx1_SendFile);
  81. // 
  82. // button1
  83. // 
  84. this.button1.Location = new System.Drawing.Point(16, 200);
  85. this.button1.Name = "button1";
  86. this.button1.Size = new System.Drawing.Size(64, 32);
  87. this.button1.TabIndex = 2;
  88. this.button1.Text = "表情";
  89. this.button1.Click += new System.EventHandler(this.button1_Click);
  90. // 
  91. // button3
  92. // 
  93. this.button3.Location = new System.Drawing.Point(392, 264);
  94. this.button3.Name = "button3";
  95. this.button3.Size = new System.Drawing.Size(56, 40);
  96. this.button3.TabIndex = 4;
  97. this.button3.Text = "发送";
  98. this.button3.Click += new System.EventHandler(this.button3_Click);
  99. // 
  100. // Form1
  101. // 
  102. this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
  103. this.ClientSize = new System.Drawing.Size(456, 341);
  104. this.Controls.Add(this.button3);
  105. this.Controls.Add(this.button1);
  106. this.Controls.Add(this.axPEOcx1);
  107. this.Controls.Add(this.axWebR1);
  108. this.Name = "Form1";
  109. this.Text = "Form1";
  110. this.Load += new System.EventHandler(this.Form1_Load);
  111. ((System.ComponentModel.ISupportInitialize)(this.axWebR1)).EndInit();
  112. ((System.ComponentModel.ISupportInitialize)(this.axPEOcx1)).EndInit();
  113. this.ResumeLayout(false);
  114. }
  115. #endregion
  116. /// <summary>
  117. /// 应用程序的主入口点。
  118. /// </summary>
  119. [STAThread]
  120. static void Main() 
  121. {
  122. Application.Run(new Form1());
  123. }
  124. private void button1_Click(object sender, System.EventArgs e)
  125. {
  126. Form2 fm = new Form2();
  127. fm.ShowDialog();  
  128. //目前只加载了第一个目录下的表情
  129. InsertPics(fm.m_nPicIndex,1, 1);  
  130. }
  131. //这里插入图片 index是图号(1-99),nPage是目录(1-9), nType=1 表示是表情,2表示是其它硬盘上的图片
  132. //peocx最多可以插入999个表情,其中可以加载1 - 9 目录,每个目录下可以有0.gif,- 99.gif等
  133. public void InsertPics(int Index,int nPage, int nType)
  134. {
  135. int ind;
  136. ind = nPage * 100 + Index;
  137. string strP;//图片路径
  138. strP = System.IO.Directory.GetCurrentDirectory() + "\Face\" + nPage + "\" + Index + ".gif";
  139. axPEOcx1.InsertPic( strP, ind, "", nType);
  140.   
  141. }
  142. private void SendMsg(string sMsg)
  143. {
  144. //模拟发送和接收,在这里是直接接收
  145. RecvMsg(sMsg);
  146. }
  147. private void RecvMsg(string sMsg )
  148. {
  149. string strHtml = axPEOcx1.Txt2Html( sMsg, System.IO.Directory.GetCurrentDirectory() + "\face", 1) + "<br><br>"; 
  150. AddHtmlText(strHtml, "PRTX webp2p.com");
  151.     
  152. }
  153. private void button3_Click(object sender, System.EventArgs e)
  154. {
  155. SendTxtMsg();
  156. axPEOcx1.FocusEdit(); 
  157. }
  158. private void Form1_Load(object sender, System.EventArgs e)
  159. {
  160. axPEOcx1.SetRTFFont(false, false, false, 0, "宋体",12, false);
  161. axWebR1.WithScroll = true;
  162.          axWebR1.Width = axWebR1.Width  + 1;
  163. axWebR1.Width = axWebR1.Width - 1;
  164. }
  165. private void axPEOcx1_SendFile(object sender, AxPEOCXLib._DPEOcxEvents_SendFileEvent e)
  166. {
  167. }
  168. private void axPEOcx1_EditKeyDown(object sender, AxPEOCXLib._DPEOcxEvents_EditKeyDownEvent e)
  169. {
  170.  //Debug.Print "P2PEdit_EditKeyDown " & nChar
  171. if(e.nChar  == 999999)  //'如果是999999表示按了enter或者ctrl+enter发送
  172. {
  173. SendTxtMsg();
  174. axPEOcx1.FocusEdit(); 
  175. }
  176. }
  177. private void SendTxtMsg()
  178. {
  179. /////////////////////////
  180. //检查去掉空格和换行符
  181. //检查不能只有空字符或者换行符号
  182.         string stttt;   
  183. string Str = axPEOcx1.GetSendText();
  184. //如果是空内容,就直接退出
  185. if(Str.Length == 0)
  186. return ;
  187. int i = Str.IndexOf("\C",0,Str.Length-1);
  188. stttt = Str.Remove(0, i+2); 
  189. stttt = stttt.Replace('r' ,' ');  //回车转成空格
  190. stttt = stttt.Replace('n' , ' '); //回车转成空格
  191. stttt = stttt.Trim(); 
  192. //如果是空内容,就直接退出
  193. if(stttt.Length == 0)
  194. {
  195. axPEOcx1.ClearRTF();
  196. return ;
  197. }
  198.   ///////////////////////////
  199.   ///////现在可以发送了。
  200. SendMsg(Str);   //发送内容
  201. axPEOcx1.ClearRTF();
  202. }
  203. private void AddHtmlText(string sMsg,string sNick )
  204. {
  205. string  ssH;
  206. string stime;
  207. stime = System.DateTime.Now.ToString(); 
  208.     
  209. ssH = sMsg;
  210.      
  211. string ss;
  212. ss = "<font size=2 color=red>" + sNick + "</font>" + " " + "<font  size=2>" + stime + "<br>" + "</font>" + ssH;
  213. axWebR1.AddHTML(ss);
  214. }
  215.  
  216. }
  217. }