|
刚写好了个统计拆迁房屋工程量的程序,用户交互比较多,长长的,看的头都大了,于是可以把各个交互放在不同的方法中,方法返回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。
貌似目前觉得这样不错,不晓得啊有更好、更清晰的方法。
|
|