由于cad自带的文本编辑,双击之后有时会卡顿很久,于是写了一个替换默认文本编辑的代码
效果如下
文本框使用的是系统自带的InputBox,主要是分享思路,如果想要更好的效果,可以用wpf写一个窗口
代码如下

里面使用了一些IFOX的类,可以自行根据语义替换
对应B站视频教程【CAD二次开发教程-11-重定义单行文字编辑器】
网友答:
什么配置都会卡,辣鸡cad网友答:
举一反三不就行了网友答: 我一直以为是电脑配置不行,原来是大家都是这个问题。楼主V5网友答: 支持一下。网友答: 牛哇牛哇


网友答:



网友答:
支持一下。顶起来
网友答:
牛蛙牛蛙,CAD2023雀食容易双击文字就爆炸的。网友答:
牛哇牛哇,白佬666网友答:
膜拜大佬,谢谢分享
网友答:
真不错哈哈哈哈
效果如下
如果无法播放,请点击此处在新窗口打开
文本框使用的是系统自带的InputBox,主要是分享思路,如果想要更好的效果,可以用wpf写一个窗口
代码如下

- public static class DBTextEdit
- {
- [CommandMethod(nameof(AddEvent))]
- public static void AddEvent()
- {
- //将此部分代码放在Initialize中可在加载插件后自动添加事件
- Acap.DocumentManager.DocumentLockModeChanged -= DocumentManager_DocumentLockModeChanged;
- Acap.DocumentManager.DocumentLockModeChanged += DocumentManager_DocumentLockModeChanged;
- }
- [CommandMethod(nameof(RemoveEvent))]
- public static void RemoveEvent()
- {
- Acap.DocumentManager.DocumentLockModeChanged -= DocumentManager_DocumentLockModeChanged;
- }
- internal static void DocumentManager_DocumentLockModeChanged(object sender, DocumentLockModeChangedEventArgs e)
- {
- if(e.GlobalCommandName.ToUpper()!="TEXTEDIT")
- return;
- var r1 = Env.Editor.SelectImplied();
- if(r1.Status!=PromptStatus.OK)
- return;
- if(r1.Value.Count!=1)
- return;
- var id = r1.Value[0].ObjectId;
- if(!id.IsOk()||!id.ObjectClass.IsDerivedFrom(RXClass.GetClass(typeof(DBText))))
- return;
- e.Veto();
- using var tr = new DBTrans();
- var text = tr.GetObject<DBText>(id)!;
- var ltr = tr.GetObject<LayerTableRecord>(text.LayerId)!;
- if(ltr.IsLocked)
- return;
- Acap.DocumentManager.DocumentLockModeChanged -= DocumentManager_DocumentLockModeChanged;
- try
- {
- var str = Microsoft.VisualBasic.Interaction.InputBox("请输入文字", "文本编辑", text.TextString);
- if(str is null || str.Trim()==""||str==text.TextString)
- return;
- using (text.ForWrite())
- {
- text.TextString = str;
- }
- }
- finally
- {
- Acap.DocumentManager.DocumentLockModeChanged += DocumentManager_DocumentLockModeChanged;
- }
- }
- }
里面使用了一些IFOX的类,可以自行根据语义替换
对应B站视频教程【CAD二次开发教程-11-重定义单行文字编辑器】
网友答:
liuhe 发表于 2023-3-3 11:28
我一直以为是电脑配置不行,原来是大家都是这个问题。楼主V5
什么配置都会卡,辣鸡cad网友答:
开心无惧 发表于 2025-9-19 20:10
有对多行文字的吗,双击多行文字也会停一下才打开
举一反三不就行了网友答: 我一直以为是电脑配置不行,原来是大家都是这个问题。楼主V5网友答: 支持一下。网友答: 牛哇牛哇



网友答:



网友答:
支持一下。顶起来
网友答:
牛蛙牛蛙,CAD2023雀食容易双击文字就爆炸的。网友答:
牛哇牛哇,白佬666网友答:
膜拜大佬,谢谢分享
网友答:
真不错哈哈哈哈