怎样使c#里定义的命令重复使用,在按esc后退出?
本帖最后由 reecho_cd 于 2011-5-8 17:11 编辑我在c#里写了个命令,想让它重复执行,按esc后退出。我写了下面的代码,但是按esc退不出,向各位达人请教一下,应该怎么写呢?谢谢了!(我的开发环境是。net05+cad05)
public void wdx()
{
//获得CAD实例
Database db = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Database;
Autodesk.AutoCAD.DatabaseServices.TransactionManager tm = db.TransactionManager;
AcadApplication acadApp = (AcadApplication)System.Runtime.InteropServices.Marshal.GetActiveObject("AutoCAD.Application");
AcadDocument docc = acadApp.ActiveDocument;//获得cad当前文档
AutocadMAP.AcadMap map = (AcadMap)acadApp.GetInterfaceObject("AutoCADMap.Application");
try
{
while (true)
{
Transaction trans = tm.StartTransaction();
excute(docc,map);//这是自己写的主要执行函数(其实就是想让这个函数重复执行,如果按esc键就退出)
trans.Commit();//
trans.Dispose();
}
}
catch (Autodesk.AutoCAD.Runtime.Exception ex)
{
MessageBox.Show(ex.Message);
}
}
public static extern short GetKeyState(int nVirtKey);
while (GetKeyState((int)System.Windows.Forms.Keys.Escape) > 0) 循环判断 回复 sieben 的帖子
谢谢!
不过我这里还是不能实现循环,按esc后仍然退不出。我再试试 回复 pyt5208 的帖子
谢谢!
请问是循环判断按键状态吗?
不知道怎么监听自己定义的这个命令的开始结束事件?是否能够在commandcancel事件监听到 用do{}while()循环,退出时让主要的执行函数返回值为false 楼上正解`````
页:
[1]