求助getpoint的keyword问题
求助keyword问题PromptPointOptions ppo=new PromptPointOptions("选择需要标注点");
ppo.Keywords.Add("S_位数");
ppo.Keywords.Add("H_字高");
ppo.AllowNone = false;
PromptPointResult po;
looppoint:
po=ed.GetPoint(ppo);
if (po.Status == PromptStatus.Keyword)
{
switch (po.StringResult)
{
case "字高":
Program.hight = ed.GetDouble("输入字高<" + Program.hight.ToString() + ">").Value;
break;
case "位数":
Program.pointxiaoshu = ed.GetInteger("保留小数位数<" + Program.pointxiaoshu.ToString() + ">").Value;
break;
}
goto looppoint;
}
else
{
basepoint = new Point3d(Math.Round( po.Value.X,Program.pointxiaoshu),Math.Round( po.Value.Y,Program.pointxiaoshu),Math.Round( po.Value.Z,Program.pointxiaoshu));
}
为什么我调试的时候输入关键字“H”后没有反应?输入“S”能正常运行。
http://bbs.mjtd.com/xwb/images/bgimg/icon_logo.png 该贴已经同步到 xkaeli的微博 switch (po.StringResult)
{
case "H_字高":
Program.hight = ed.GetDouble("输入字高<" + Program.hight.ToString() + ">").Value;
break;
case "S_位数":
Program.pointxiaoshu = ed.GetInteger("保留小数位数<" + Program.pointxiaoshu.ToString() + ">").Value;
break;
} 回复 sieben 的帖子
应该不是这个问题,刚开始我把这一块代码写的是ed.WriteMessage(po.StringResult);来测试,结果是输入S显示为“位数”,输入H不让输。
当我把添加关键字的顺序颠倒一下后只能输入H不能输入S了,伤心流涕! 本帖最后由 sieben 于 2011-7-8 12:10 编辑
把里面"H_字高"下横杆去掉试试,改为"H字高","S位数";
再不行把ppo.AllowNone = false;改为ppo.AllowNone = true; 把AllowArbitraryInput也设置为true
页:
[1]