乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 189|回复: 8

求助,如何实现从屏幕选中一个DBText,并且读取出单行文本的内容?

[复制链接]

1

主题

3

帖子

1

银币

初来乍到

Rank: 1

铜币
7
发表于 2015-12-10 15:16:00 | 显示全部楼层 |阅读模式
各位大大,如何实现从屏幕选中一个DBText,并且读取出单行文本的内容?
我试过以下方法没有输出内容。
请教如何才能得到单行文本的内容呢?
      public void Zgbz()
        {
            Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
            //获得文本内容
            string xffl1;
            using (Transaction trans = Application.DocumentManager.MdiActiveDocument.TransactionManager.StartTransaction())
            {
                 PromptEntityOptions optEnt=new PromptEntityOptions("\n请选取文本");
                 PromptEntityResult resEnt=ed.GetEntity(optEnt);
                 if (resEnt.Status==PromptStatus.OK)
                   {
                     Entity ent = (Entity)trans.GetObject(resEnt.ObjectId, OpenMode.ForRead);
                     xffl1=ent.ToString ();
                    }
                 
                 ed.WriteMessage("\n读取的文本内容为:"+ xffl1);
            }
}
回复

使用道具 举报

44

主题

185

帖子

8

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
361
发表于 2015-12-10 20:27:00 | 显示全部楼层
DBtext ent = (DBtext)trans.GetObject(resEnt.ObjectId, OpenMode.ForRead);
string X= ent.TextSring
回复

使用道具 举报

1

主题

3

帖子

1

银币

初来乍到

Rank: 1

铜币
7
发表于 2015-12-10 21:19:00 | 显示全部楼层
谢谢,这样可以了。之前不知道怎么回事一直没有成功。
回复

使用道具 举报

1

主题

3

帖子

1

银币

初来乍到

Rank: 1

铜币
7
发表于 2015-12-10 21:20:00 | 显示全部楼层

非常感谢,现在可以了。
回复

使用道具 举报

75

主题

306

帖子

10

银币

中流砥柱

Rank: 25

铜币
606
发表于 2015-12-11 08:21:00 | 显示全部楼层
最好加一句对象类型判断:
if (Ent is DBText) {
}
保险点!
回复

使用道具 举报

0

主题

275

帖子

8

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
275
发表于 2015-12-12 08:39:00 | 显示全部楼层

public void ShowTextString ()
        {
            Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
             //获得文本内容
             using (Transaction trans = Application.DocumentManager.MdiActiveDocument.TransactionManager.StartTransaction())
             {
                 PromptEntityOptions optEnt=new PromptEntityOptions("\n请选取文本");
                 optEnt.SetRejectMessage("\n***Only Text***");
                 optEnt.AddAllowedClass(typeof(DBText),true);
                 PromptEntityResult resEnt=ed.GetEntity(optEnt);
                  if (resEnt.Status==PromptStatus.OK)
                  {
                      DBText ent = (DBText)trans.GetObject(resEnt.ObjectId, OpenMode.ForRead);
                      var xffl1 = ent.TextString;
                      ed.WriteMessage("\n读取的文本内容为:"+ xffl1);
                  }
                  trans.Commit();
             }
        }
回复

使用道具 举报

75

主题

306

帖子

10

银币

中流砥柱

Rank: 25

铜币
606
发表于 2015-12-12 16:45:00 | 显示全部楼层
这样也行,做好判断即可
回复

使用道具 举报

10

主题

56

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
96
发表于 2015-12-14 15:42:00 | 显示全部楼层
做好判断防止意外中止。楼上果然厉害
回复

使用道具 举报

5

主题

19

帖子

3

银币

初来乍到

Rank: 1

铜币
39
发表于 2018-3-3 10:26:00 | 显示全部楼层
学习了 谢谢
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-13 02:33 , Processed in 0.628151 second(s), 70 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表