乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 46|回复: 2

使用ESC退出while循环?

[复制链接]

5

主题

29

帖子

1

银币

初来乍到

Rank: 1

铜币
49
发表于 2018-6-1 05:37:50 | 显示全部楼层 |阅读模式
我有一个程序,一旦您在您需要的对话框中建立配置,它就会要求您选择多个点,然后根据您的配置和您选择的点确定正确的块,然后插入块。 它重复插入命令,但不重复对话框,因为在此会话期间配置不会更改。
我需要能够按 ESC 键或右键单击鼠标,退出重复点选择并插入例程部分的 while 循环。 此时没有键盘输入,只是根据提示选择点。
如何让我的程序识别已按下 ESC 键或右键单击鼠标,并使用它来退出我的 while 循环?
感谢您的建议。
此处显示的部分代码:
try
{
using (DBSvc.Transaction tr1 = rfmlDB.TransactionManager.StartTransaction())
{
curOsmode = System.Convert.ToInt32(App.GetSystemVariable(“OSMODE”));
                   curOrtho = System.Convert.ToInt32(App.GetSystemVariable(“ORTHOMODE”));
App.SetSystemVariable(“OSMODE”, 2815);
App.SetSystemVariable(“ORTHOMODE”, 1);
tr1.Commit();
}
Application.EnableVisualStyles();
               App.ShowModalDialog(new frmRFML());
cfg = frmRFML.cfgArray;
// GetPoints 并插入块,直到 ESC 或 Enter 选中
,而 (true)
{
GetPointsRFML(cfg.级别);
RFMLKeyCalc(xmHt);(未来)
RFML_BlockName BlockNameRFML = new RFML_BlockName();
BlockInsert GetSupport = new BlockInsert();
bName = BlockNameRFML.BuildBlockName(xmHt, cfg, TGDVer);
GetSupport.InsertBlock(bsPoint, BlockNameRFML.BuildBlockName(xmHt, cfg, TGDVer));
try
{
using (DBSvc.Transaction tr2 = rfmlDB.TransactionManager.StartTransaction())
{
DBSvc.BlockTable blkTable = (DBSvc.BlockTable)tr2.GetObject(rfmlDB.BlockTableId, DBSvc.OpenMode.ForRead) as DBSvc.BlockTable;
if (blkTable.Has(bName))
{
Random rnd = new Random();
                               整型图章 = rnd。Next();
string nbname = “z_” + bName + System.Convert.ToString(stamp);
var btr = (DBSvc.BlockTableRecord)tr2.GetObject(blkTable[bName], DBSvc.OpenMode.ForWrite);
断续器名称 = nbname;
}
tr2.Commit();
}
}
catch (ArgumentException e)
{
MessageBox.Show(e.Message);
                   }
App.SetSystemVariable(“OSMODE”, curOsmode);
App.SetSystemVariable(“ORTHOMODE”, curOrtho);
//RFML_XmPositions.UpDateXmPosition(bName, ref xmHeight, ref xmSpread);

}
}
catch (ArgumentException e)
{
MessageBox.Show(e.Message);            
}
} }

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

51

主题

613

帖子

9

银币

中流砥柱

Rank: 25

铜币
815
发表于 2018-6-1 09:49:50 | 显示全部楼层
HostApplicationServices。user break



http://help . Autodesk . com/view/OARX/2018/ENU/?guid = OREFNET-Autodesk _ AutoCAD _ database services _ HostApplicationServices _ user break
使您的循环基于此方法的值
回复

使用道具 举报

5

主题

29

帖子

1

银币

初来乍到

Rank: 1

铜币
49
发表于 2018-6-4 08:30:55 | 显示全部楼层
感谢您的输入。我已经去了发布的站点,但我正在努力弄清楚如何在我的代码中实现它。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-4 10:37 , Processed in 0.277020 second(s), 58 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表