[用户交互] AutoCAD 与用户交互的问题
刚写好了个统计拆迁房屋工程量的程序,用户交互比较多,长长的,看的头都大了,于是可以把各个交互放在不同的方法中,方法返回true false,主程序通过返回的值(rue false)来定是否要return(一般用户按ESC就退出),调用的主程序通过ref传入参数来接受交互返回的数据。public bool GetTablePoint(Database db, Editor ed, ref Point3d PointBack)
{
PromptPointOptions optPoint = new PromptPointOptions("\n请输入第一个点<100,200>");
optPoint.AllowNone = true;
PromptPointResult resPoint = ed.GetPoint(optPoint);
if (resPoint.Status == PromptStatus.Cancel)
return false;//如果是取消就退出
if (resPoint.Status == PromptStatus.None)
PointBack = new Point3d(100, 200, 0);
else
PointBack = resPoint.Value;
return true;
}
调用的主程序
Point3d ResPoint=new Point3d();
if (!GetTablePoint(db, ed, ref ResPoint))
{
return;//如果没有返回得到字符串并中断,那就这里也中断
}如果GetTablePoint中用户按了ESC,那就返回false,然后主程序中收到false就return;
如果GetTablePoint中正常,那就返回true,同时主程序中用ref 传参数得到交互的值ResPoint。
貌似目前觉得这样不错,不晓得啊有更好、更清晰的方法。
页:
[1]