找回密码
 立即注册

QQ登录

只需一步,快速开始

马晓峰

初级会员

28

主题

99

帖子

239

积分

初级会员

积分
239

活字格认证

马晓峰
初级会员   /  发表于:2015-10-15 13:11  /   查看:6199  /  回复:5
是这样的,我先让c1editor  load一个文件,然后不输入任何内容,直接设置标题【h1】(段落),崩溃。如果输入内容后再设置标题,不会出错。


这是我的demo,请指教。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

5 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2015-10-15 13:47:00
沙发
回复 1楼马晓峰的帖子

谢谢你的反馈和提供的demo,我们测试后给你回复。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-10-15 16:07:00
板凳
回复 1楼马晓峰的帖子

你好。
根据你的程序来看,是你在工程里自己创建的bb.html的文件存在问题。
点击段落会触发DocumentChanged事件,在该事件里保存时候创建了一个新文件,出问题在新建的这个文件。
修改代码,将其保存在原本load的文件里,不会发生异常。
  1.    string filename = @"test\add.html";
  2.         private void Form1_Load(object sender, EventArgs e)
  3.         {
  4.             //生成editor控件
  5.             C1.Win.C1Editor.C1Editor c1editor = new C1.Win.C1Editor.C1Editor();
  6.             this.Controls.Add(c1editor);
  7.             c1editor.LoadXml(filename);

  8.             c1editor.Top = 50;
  9.             c1editor.Left = 15;
  10.             c1editor.Width = 300;
  11.             c1editor.Height = 150;

  12.             c1EditorToolStripStyle1.Editor = c1editor;           
  13.             c1editor.DocumentChanged += new EventHandler(c1editor_DocumentChanged);
  14.         }
  15.         void c1editor_DocumentChanged(object sender, EventArgs e)
  16.         {
  17.             C1.Win.C1Editor.C1Editor tb = (C1.Win.C1Editor.C1Editor)sender;         
  18.             try
  19.             {
  20.                 tb.SaveXml(filename);
  21.             }
  22.             catch (Exception x)
  23.             {
  24.                 MessageBox.Show(x.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
  25.             }        
  26.         }
复制代码


请检查你在创建一个新的File文件的时候是否正确。
另外,C1Editor的使用,请参考随机安装示例:
\Documents\ComponentOne Samples\Studio for WinForms\C1Editor\CS\C1EditorQuickStart
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
马晓峰
初级会员   /  发表于:2015-10-15 17:45:00
地板
回复 3楼Alice的帖子

还是按我之前的代码,如果先输入  内容,再 设置段落,不会有问题。其中,先写内容会触发documentchanged事件,会重写bb.html文件,相应的c1editor.load()的文件会默认设置为bb.html
而不是之前加载的add.html。通过测试,得出结论::c1editor load和save的文件要在同一个目录下,比如将“test\add.html”改为"add.html",这样与bb.html都在同一个目录,就不会出错。证明是控件本身的设计导致的bug,或者说就是该控件使用必须遵守的规则。
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-10-16 10:04:00
5#
回复 4楼马晓峰的帖子

你好。
建议你根据3楼给出的随机安装示例,检查你的程序在创建不同路径的文件时候,是不是有问题。
根据你的提示,对如下随机安装示例进行不同路径保存的操作,未重现你的问题。
测试示例:
\Documents\ComponentOne Samples\Studio for WinForms\C1Editor\CS\C1EditorQuickStart
修改示例中ToolScripMain.cs文件的SaveDocument方法如下:
  1.         // save current document using current file name
  2.         bool SaveDocument()
  3.         {
  4.             // got the name, save the file
  5.             try
  6.             {
  7.                 using (SaveFileDialog dlg = new SaveFileDialog())
  8.                 {
  9.                     dlg.Filter = Properties.Resources.FileFilter;
  10.                     dlg.DefaultExt = Properties.Resources.DefaultExt;
  11.                     if (dlg.ShowDialog() == DialogResult.OK)
  12.                     {
  13.                         _fileName = dlg.FileName;
  14.                         Editor.SaveXml(_fileName);
  15.                         SetDirty(false);
  16.                         return true;
  17.                     }
  18.                     return false;
  19.                 }
  20.               
  21.             }
  22.             catch (Exception x)
  23.             {
  24.                 MessageBox.Show(x.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
  25.                 return false;
  26.             }
  27.         }
复制代码

测试步骤:
1.运行程序。
2.点击Open按钮打开你提供的文件:add.html。
3.更改段落。
4.点击Save按钮,弹出对话框,输入文件名(和之前的文件名不同,比如:bb.html)并且和之前的文件不在同一目录,点击【保存】将它随意存在任何目录下。
无异常,可以正常存储。

评分

参与人数 1满意度 +5 收起 理由
马晓峰 + 5 问题解决

查看全部评分

请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-10-27 17:59:00
6#
回复 4楼马晓峰的帖子

此问题关闭,如果有新问题请开新帖。
为了给你提供更优质的服务,请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢        
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部