动态显示实体的扩展数据 - 精华帖集合
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