找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 6015|回复: 31

[原创] 用程序控制显示隐藏的ModelessWindows对话框

[复制链接]

已领礼包: 859个

财富等级: 财运亨通

发表于 2015-12-29 15:55:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 csharp 于 2015-12-29 15:57 编辑

使用 Palette 做载体很容易,试了下用 WPF Windows 做 Modeless 对话框
定义 xaml

<Window x:Name="Hknife" x:Class="AutoCAD_CSharp_plug_in2.UserControl1"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             mc:Ignorable="d"
             d:DesignHeight="80" d:DesignWidth="120" ResizeMode="NoResize" Closing="Hknife_Closing" SizeToContent="WidthAndHeight">
    <Grid>
        <ComboBox x:Name="Input" HorizontalAlignment="Left" Height="20" Margin="10,10,0,0" VerticalAlignment="Top" Width="90" IsEditable="True"/>
    </Grid>
</Window>

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

定义两个测试 Lisp 函数

  1. using Autodesk.AutoCAD.Runtime;
  2. using Autodesk.AutoCAD.DatabaseServices;
  3. using Application = Autodesk.AutoCAD.ApplicationServices.Core.Application;

  4. [assembly: CommandClass(typeof(AutoCAD_CSharp_plug_in2.MyCommands))]

  5. namespace AutoCAD_CSharp_plug_in2
  6. {
  7.     public class MyCommands
  8.     {
  9.         private static UserControl1 _control1=null;
  10.       
  11.         [LispFunction("ginit")]
  12.         public object MyWindows(ResultBuffer rb)
  13.         {
  14.             if (_control1 == null)
  15.             {
  16.                 _control1 = new UserControl1();
  17.                 Application.ShowModelessWindow(_control1);
  18.                 return true;
  19.             }
  20.             else
  21.             {
  22.                 if (_control1.IsVisible)
  23.                 {
  24.                     _control1.Close();
  25.                 }
  26.                 else
  27.                 {
  28.                     Application.ShowModelessWindow(_control1);
  29.                 }
  30.             }
  31.             return true;
  32.         }

  33.         [LispFunction("gget")]
  34.         public object MyWindowsGet(ResultBuffer rb)
  35.         {
  36.             if (_control1!=null && _control1.IsVisible)
  37.             {
  38.                string str= _control1.Input.Text;
  39.                 return str;
  40.             }
  41.             return false;
  42.         }
  43.     }
  44. }
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 8613个

财富等级: 富甲天下

发表于 2015-12-29 16:25:16 | 显示全部楼层
有没有例子和截图?

点评

这样效果  详情 回复 发表于 2015-12-29 17:29
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 859个

财富等级: 财运亨通

 楼主| 发表于 2015-12-29 17:29:00 | 显示全部楼层
liuyj 发表于 2015-12-29 16:25
有没有例子和截图?

这样效果  
modelesswindows.gif

点评

还可做美观一点!  详情 回复 发表于 2015-12-29 18:44
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1904个

财富等级: 堆金积玉

发表于 2015-12-29 18:06:44 | 显示全部楼层
学习学习,好东西谢谢分享
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3199个

财富等级: 富可敌国

发表于 2015-12-29 18:44:52 | 显示全部楼层

还可做美观一点!

点评

方法有了,WPF效果就靠你想象力  详情 回复 发表于 2015-12-29 18:48
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 859个

财富等级: 财运亨通

 楼主| 发表于 2015-12-29 18:48:27 来自手机 | 显示全部楼层
本帖最后由 csharp 于 2015-12-29 18:49 编辑
lucas3 发表于 2015-12-29 18:44
还可做美观一点!


方法有了,WPF效果就靠你想象力
这是Windows10下默认
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2016-1-4 10:22:28 | 显示全部楼层
mark
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

发表于 2016-2-1 16:05:52 | 显示全部楼层
回复看看啊啊啊啊啊
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3919个

财富等级: 富可敌国

发表于 2016-2-3 22:39:33 | 显示全部楼层
学习学习!:lol
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 9个

财富等级: 恭喜发财

发表于 2017-8-8 15:57:04 | 显示全部楼层
布局一直用不好,看看这个方法行不行

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2018-1-9 09:20:55 | 显示全部楼层
WPF  youdian gaoshen ya,xiaxialai xuexixia
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 169个

财富等级: 日进斗金

发表于 2018-1-9 11:38:42 | 显示全部楼层
show me the code!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3191个

财富等级: 富可敌国

发表于 2018-1-9 11:49:34 | 显示全部楼层
好好学习天天向上,收藏了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2018-3-4 08:43:24 | 显示全部楼层
谢谢啦,正在学习中
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

发表于 2018-3-4 15:08:56 | 显示全部楼层
什么意思没看明白
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-12-18 18:05 , Processed in 0.571155 second(s), 68 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表