![]() |
【转帖】动态显示实体的扩展数据 - 精华帖集合
动态显示实体的扩展数据 - 精华帖集合
www.dimcax.com 动态显示实体的扩展数据 , 当鼠标移动到一个实体上时,会动态显示这个实体的扩展数据。 程序中用到最新的dotnetarx5.0。 public class class1 { editor ed = tools.editor; database db = hostapplicationservices.workingdatabase; string appname = "test_application"; string xdatas; [commandmethod("displaytext")] public void displaytext() { ed.rollover +=new rollovereventhandler(ed_rollover); ed.pointfilter += new pointfiltereventhandler(ed_pointfilter); } void ed_pointfilter(object sender, pointfiltereventargs e) { e.result.tooltiptext = xdatas; } void ed_rollover(object sender, rollovereventargs e) { xdatas=null; using (transaction trans=db.transactionmanager.starttransaction()) { objectid[] ids=e.highlighted.getobjectids(); if (ids.getlength(0)>0) { resultbuffer xdataout = ids[0].getxdata(appname); if (xdataout == null) { return; } foreach (typedvalue xdata in xdataout) { xdatas+=string.format("\ntypecode={0},value={1}", xdata.typecode, xdata.value); } } } } } ed.rollover +=new rollovereventhandler(ed_rollover); 也无颜色提示 void ed_rollover(object sender, rollovereventargs e)中rollovereventargs 提示:找不到类型或命名空间名称“rollovereventargs”(是否缺少 ... 必须08以上版本 c#最适合开发autocad,因为它拥有vb容易的特点,却具有vc++的强大功能。 动态显示实体的扩展数据,十字光标会不停的闪烁?,能不能让它不再闪烁? 效果非常差,能不能有其他创新的方法? 我想实现:(当鼠标移到某个块上面的时候,弹出一个小提示窗口,在提示窗口中显示部分主要的扩展数据,当鼠标离开块时,提示窗口自动关闭。)我用上面的方法泡制了一下,效果非常差。老大能否给个其他建议或帮助。谢谢 1 |
所有的时间均为北京时间。 现在的时间是 02:28 AM. |