找回密码
 立即注册

QQ登录

只需一步,快速开始

mindrayguowei

中级会员

122

主题

274

帖子

986

积分

中级会员

积分
986

活字格认证

QQ

[已处理] 删除图片问题

mindrayguowei
中级会员   /  发表于:2015-9-30 10:48  /   查看:5405  /  回复:6
删除图片的时候,触发一个TextControl_ImageDeleted事件

这个事件里面有一个ImageEventArgs参数,现在问题来了

1.这个事件被触发的时候,图片的数量没有减少
2. 循环TextControl.Images,找不到e.Image

所以现在的问题就是,在删除图片的事件里面,无法确定哪个图片被删除了.
我的需求是要对剩下的所有图片重新排版,现在无法确定哪个被删除,图片的数量也没少,无法重新排版

6 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2015-9-30 15:49:00
沙发
回复 1楼mindrayguowei的帖子

感谢问题反馈:
请问您是通过什么属性来查找被删除图片的?我通过文件名是可以查找到的:

  1.         private void Form1_Load(object sender, EventArgs e)
  2.         {
  3.             TXTextControl.Image img = new TXTextControl.Image("..\\..\\Balloon.bmp", 1);
  4.             TXTextControl.Image img1 = new TXTextControl.Image("..\\..\\Penguin.bmp", 1);

  5.             this.textControl1.Images.Add(img,0);
  6.             this.textControl1.Images.Add(img1,1);

  7.             this.textControl1.ImageDeleted += new TXTextControl.ImageEventHandler(textControl1_ImageDeleted);
  8.         }

  9.         void textControl1_ImageDeleted(object sender, TXTextControl.ImageEventArgs e)
  10.         {
  11.             foreach (TXTextControl.Image img in this.textControl1.Images)
  12.             {
  13.                 if (img.FileName==e.Image.FileName)
  14.                 {
  15.                     MessageBox.Show("delete image`s name is "+e.Image.FileName);
  16.                 }
  17.             }
  18.         }
复制代码


Demo:
18860.zip (43.42 KB, 下载次数: 154)
回复 使用道具 举报
mindrayguowei
中级会员   /  发表于:2015-10-8 14:08:00
板凳
通过FileName查找有问题的,第一次贴图之后保存成rtf文件,再打开这个rtf文件,删除图片的时候FileName有可能变空了
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-10-8 17:25:00
地板
回复 3楼mindrayguowei的帖子

按照你的描述我修改了代码->保存为 rtf文件再打开,并没有重现这个问题:

  1. private void Form1_Load(object sender, EventArgs e)
  2.         {
  3.             TXTextControl.Image img = new TXTextControl.Image("..\\..\\Balloon.bmp", 1);
  4.             TXTextControl.Image img1 = new TXTextControl.Image("..\\..\\Penguin.bmp", 1);


  5.             this.textControl1.Save("..\\..\\test.rtf", TXTextControl.StreamType.RichTextFormat);
  6.             this.textControl1.Load("..\\..\\test.rtf", TXTextControl.StreamType.RichTextFormat);


  7.             this.textControl1.Images.Add(img,0);
  8.             this.textControl1.Images.Add(img1,1);

  9.             this.textControl1.ImageDeleted += new TXTextControl.ImageEventHandler(textControl1_ImageDeleted);


  10.             foreach (TXTextControl.Table tb in this.textControl1.Tables)
  11.             {
  12.                 MessageBox.Show(tb.ID.ToString());
  13.             }
  14.         }

  15.         void textControl1_ImageDeleted(object sender, TXTextControl.ImageEventArgs e)
  16.         {
  17.             foreach (TXTextControl.Image img in this.textControl1.Images)
  18.             {
  19.                 if (img.FileName==e.Image.FileName)
  20.                 {
  21.                     MessageBox.Show("delete image`s name is "+e.Image.FileName);
  22.                 }
  23.             }
  24.         }
复制代码


能否请你发送个demo到论坛用于重现问题?
回复 使用道具 举报
mindrayguowei
中级会员   /  发表于:2015-10-10 10:27:00
5#
并不是每一次都是FileName变空的,这个是随机发生的
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-10-10 19:11:00
6#
回复 5楼mindrayguowei的帖子

您好,能不能提供更多的线索来重现这个问题?我们需要在重现问题后进一步解决问题。

您插入图片的方式是否和 4# 相同,或者出现问题和正常场景有哪些差异?图片格式不同?

下周一我会给您去电沟通这个问题。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-10-20 09:22:00
7#
回复 1楼mindrayguowei的帖子


为了给你提供更优质的服务,请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部