DummyDoc.cs
上传用户:szlfmled
上传日期:2020-11-22
资源大小:978k
文件大小:2k
源码类别:

C#编程

开发平台:

C#

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8. using WeifenLuo.WinFormsUI.Docking;
  9. using System.IO;
  10. namespace DockSample
  11. {
  12.     public partial class DummyDoc : DockContent
  13.     {
  14.         public DummyDoc()
  15.         {
  16.             InitializeComponent();
  17.         }
  18. private string m_fileName = string.Empty;
  19. public string FileName
  20. {
  21. get { return m_fileName; }
  22. set
  23. {
  24. if (value != string.Empty)
  25. {
  26. Stream s = new FileStream(value, FileMode.Open);
  27. FileInfo efInfo = new FileInfo(value);
  28. string fext = efInfo.Extension.ToUpper();
  29. if (fext.Equals(".RTF"))
  30. richTextBox1.LoadFile(s, RichTextBoxStreamType.RichText);
  31. else
  32. richTextBox1.LoadFile(s, RichTextBoxStreamType.PlainText);
  33. s.Close();
  34. }
  35. m_fileName = value;
  36. this.ToolTipText = value;
  37. }
  38. }
  39. // workaround of RichTextbox control's bug:
  40. // If load file before the control showed, all the text format will be lost
  41. // re-load the file after it get showed.
  42. private bool m_resetText = true;
  43. protected override void OnPaint(PaintEventArgs e)
  44. {
  45. base.OnPaint(e);
  46. if (m_resetText)
  47. {
  48. m_resetText = false;
  49. FileName = FileName;
  50. }
  51. }
  52. protected override string GetPersistString()
  53. {
  54.             // Add extra information into the persist string for this document
  55.             // so that it is available when deserialized.
  56. return GetType().ToString() + "," + FileName + "," + Text;
  57. }
  58. private void menuItem2_Click(object sender, System.EventArgs e)
  59. {
  60. MessageBox.Show("This is to demostrate menu item has been successfully merged into the main form. Form Text=" + Text);
  61. }
  62. private void menuItemCheckTest_Click(object sender, System.EventArgs e)
  63. {
  64. menuItemCheckTest.Checked = !menuItemCheckTest.Checked;
  65. }
  66. protected override void OnTextChanged(EventArgs e)
  67. {
  68. base.OnTextChanged (e);
  69. if (FileName == string.Empty)
  70. this.richTextBox1.Text = Text;
  71. }
  72.     }
  73. }