乐筑天下

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

怎样获取选中对象

[复制链接]

12

主题

24

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
72
发表于 2015-2-5 09:55:00 | 显示全部楼层 |阅读模式
通过Editor的GetSelection的方法可以获取用户选择,但是要弹出选择提示,然后用户手动选择一下对象,怎样在不弹出用户选择的情况下,获取界面上已经选择的对象呢。谢谢!
回复

使用道具 举报

75

主题

306

帖子

10

银币

中流砥柱

Rank: 25

铜币
606
发表于 2015-2-6 10:28:00 | 显示全部楼层
Autodesk.AutoCAD.EditorInput.Editor.SelectPrevious
回复

使用道具 举报

2

主题

12

帖子

1

银币

初来乍到

Rank: 1

铜币
20
发表于 2015-4-14 23:10:00 | 显示全部楼层
2楼 可以详细点吗,我也很想知道~
回复

使用道具 举报

2

主题

12

帖子

1

银币

初来乍到

Rank: 1

铜币
20
发表于 2015-4-15 00:04:00 | 显示全部楼层

姐姐可以详细点吗?谢谢!我用了你说的,不过panel都没有显示出来,可以教教我吗?
Editor ed = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor;
            PromptSelectionResult i = ed.SelectPrevious();
            if (i.Status == PromptStatus.OK)
            {
                         this.panel1.Location = new Point(0,0);
            this.panel1.Visible = true;
            }
            else
            {
            this.panel1.Location = new Point(-10000,-10000);
            }
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2015-4-15 08:04:00 | 显示全部楼层
public PromptSelectionResult SelectImplied();
回复

使用道具 举报

2

主题

12

帖子

1

银币

初来乍到

Rank: 1

铜币
20
发表于 2015-4-17 09:36:00 | 显示全部楼层

飞狐哥哥,请问我还能做什么,才能让panel在先选中了对象后显示出来,就用这个方法先选择后命令的
   [CommandMethod("CheckForPickfirstSelection", CommandFlags.UsePickSet)]
        public static void CheckForPickfirstSelection()
        {
            int nMaxSort = System.Convert.ToInt32(Autodesk.AutoCAD.ApplicationServices.Application.GetSystemVariable("PICKFIRST"));
            Autodesk.AutoCAD.ApplicationServices.Application.ShowAlertDialog(nMaxSort.ToString());//测试
            Autodesk.AutoCAD.ApplicationServices.Application.SetSystemVariable("PICKFIRST", 1);
            Editor acDocEd = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor;
            PromptSelectionResult acSSPrompt;
            acSSPrompt = acDocEd.SelectImplied();
            if (acSSPrompt.Status == PromptStatus.OK)
            {
                UserControl4 uc4 = new UserControl4();
                uc4.panel1.Visible = true;
                uc4.panel1.Location = new Point(0, 0);
            }
            else
            {
                UserControl4 uc4 = new UserControl4();
                uc4.panel1.Location = new Point(-1000, -10000);
            }
        }
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2015-4-17 09:53:00 | 显示全部楼层
你可以先做简单的测试 把你的问题分成几个小问题来解决
回复

使用道具 举报

2

主题

12

帖子

1

银币

初来乍到

Rank: 1

铜币
20
发表于 2015-4-17 10:01:00 | 显示全部楼层

先用土方法把问题暂时解决了,不过操作麻烦了一步,谢谢飞狐哥的指导!
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2015-4-17 23:00:00 | 显示全部楼层
嗯 先把你能够理解的部分搞清楚,界面上面的后期去处理
说实话面板我没有做过呵呵,暂时没这方面的需求
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-6-28 19:08 , Processed in 3.161237 second(s), 71 queries .

© 2020-2025 乐筑天下

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