关于用户交互的问题
www.dimcax.com
关于用户交互的问题
我想实现:先选择对象,然后对对象进行复制,移动等操作。但写完copy后发现每次执行到case“c”:或case“m”:都会break;代码如下: [commandmethod("yy")] static public void test() { begin: database db = hostapplicationservices.workingdatabase; editor ed = application.documentmanager.mdiactivedocument.editor; promptselectionoptions pso = new promptselectionoptions(); pso.messageforadding="请选择对象"; promptselectionresult psr = ed.getselection(pso); selectionset sset = psr.value; objectid[] entids = sset.getobjectids(); foreach(objectid entid in entids) { promptkeywordoptions pko = new promptkeywordoptions("\n请选择您要进行的操作[复制移动添加]"); pko.keywords.add("c","c","c",false,true); pko.keywords.add("m","m","m",false,true); pko.keywords.add("s","s","s",false,true); pko.keywords.add("o","o","o",false,true); pko.keywords.default = "o"; promptresult pr = ed.getkeywords(pko); if(pr.status==promptstatus.cancel) {circle cir = new circle(new point3d(0,0,0),vector3d.zaxis,10); edit.appen(cir); return; } if(pr.status==promptstatus.none) { goto begin; } if(pr.status== promptstatus.keyword) { switch (pr.stringresult.toupper()) { case"c": point3d tpt1; point3d fpt1; promptpointoptions ppo1=new promptpointoptions("\n请选择起始点"); ppo1.allownone = true; promptpointresult ppr1 = ed.getpoint(ppo1); if (ppr1.status == promptstatus.ok) { fpt1 = ppr1.value; } promptpointoptions ppo2 = new promptpointoptions("\n请输入第二点"); promptpointresult pr2 = ed.getpoint(ppo2); if (pr2.status == promptstatus.ok) { tpt1 = pr2.value; } edit.copy(entid,fpt1,tpt1); break; case"m": circle cir1= new circle(new point3d(0, 0, 0), vector3d.zaxis, 10); edit.appen(cir1); break; 请高手帮看看,谢谢先
补充一下,问题就是每次输入c或m时都会跳出,不论大小写
if(pr.status== promptstatus.ok )这行改成这样 { switch (pr.stringresult.toupper())
谢谢嘞,师兄