Fork me on GitHub
MarkWord

MarkWord - 可发布博客的 Markdown编辑器 代码开源

复制代码
 1         /// <summary>
 2         /// 同步呈现
 3         /// </summary>
 4         /// <param name="value"></param>
 5         public void LoadBody(string MarkValue)
 6         {
 7 
 8             if (winWebDoc.Document == null)
 9                 return;
10             winWebDoc.Document.InvokeScript("updatePageContent", new object[] { CommonMark.CommonMarkConverter.Convert(MarkValue) });
11         }
12 
13         /// <summary>
14         /// 文本更变
15         /// </summary>
16         /// <param name="sender"></param>
17         /// <param name="e"></param>
18         private void textEditor_TextChanged(object sender, EventArgs e)
19         {
20             if (!isLoadFlag)
21             {
22                 if (this.textEditor.Text != "" && scrViewer != null)
23                     if (scrViewer.ScrollableHeight == scrViewer.VerticalOffset)
24                         scrViewer.ScrollToBottom();
25 
26                 BLL.FileManager.isChangeFlag = true;
27             }
28             //加载文档
29             if (MarkDoc == null)
30                 return;
31             if (Config.Common.WorkType == WorkType.Both)
32             {
33                 MarkDoc.LoadBody(this.textEditor.Text);
34             }
35         }
36        //////////////////////////////////////////////////////////////////////////////////
37         /// <summary>
38         /// 同步滚动
39         /// </summary>
40         /// <param name="value"></param>
41         public void ScrollAuto(double value)
42         {
43             if (winWebDoc.Document == null)
44                 return;
45             winWebDoc.Document.InvokeScript("scrollToPageContent", new object[] { value.ToString(System.Globalization.CultureInfo.InvariantCulture) });
46            
47         }
48         //计算比例
49         public double ScrollViewerPositionPercentage
50         {
51             get
52             {
53                 double num = this.scrViewer.ExtentHeight - this.scrViewer.ViewportHeight;
54                 double result;
55                 if (num != 0.0)
56                 {
57                     result = this.scrViewer.VerticalOffset / num;
58                 }
59                 else
60                 {
61                     result = 0.0;
62                 }
63                 return result;
64             }
65         }
66 
67         //触发同步
68         private void scrViewer_ScrollChanged(object sender, ScrollChangedEventArgs e)
69         {
70             if (MarkDoc == null) return;
71             if (Config.Common.WorkType == WorkType.Both)
72             {
73                 MarkDoc.ScrollAuto(this.ScrollViewerPositionPercentage);
74             }
75         }
复制代码

至此,Markword 中设计到的内容点已经基本覆盖到了,如有疑问欢迎交流!!!

 

 


 

最后来一发小广告

NetAnalyzer2016网络协议分析软件源码开放购买,可以分析80多种协议,支持http数据还原(包含chunked和gzip数据) ,欢迎大家可以支持一下!!

墨云NetAnalyzer官网
代码购买链接
如有疑问欢迎QQ联系:470200051

祝大家周末愉快

 

posted on 2016-07-26 07:25  HackerVirus  阅读(1451)  评论(0编辑  收藏  举报