用程序控制显示隐藏的ModelessWindows对话框
本帖最后由 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>
定义事件
**** Hidden Message *****
定义两个测试 Lisp 函数
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.DatabaseServices;
using Application = Autodesk.AutoCAD.ApplicationServices.Core.Application;
namespace AutoCAD_CSharp_plug_in2
{
public class MyCommands
{
private static UserControl1 _control1=null;
public object MyWindows(ResultBuffer rb)
{
if (_control1 == null)
{
_control1 = new UserControl1();
Application.ShowModelessWindow(_control1);
return true;
}
else
{
if (_control1.IsVisible)
{
_control1.Close();
}
else
{
Application.ShowModelessWindow(_control1);
}
}
return true;
}
public object MyWindowsGet(ResultBuffer rb)
{
if (_control1!=null && _control1.IsVisible)
{
string str= _control1.Input.Text;
return str;
}
return false;
}
}
} 有没有例子和截图?
liuyj 发表于 2015-12-29 16:25
有没有例子和截图?
这样效果
学习学习,好东西谢谢分享
csharp 发表于 2015-12-29 17:29
这样效果
还可做美观一点!
本帖最后由 csharp 于 2015-12-29 18:49 编辑
lucas3 发表于 2015-12-29 18:44
还可做美观一点!
方法有了,WPF效果就靠你想象力
这是Windows10下默认 mark 回复看看啊啊啊啊啊
学习学习!:lol 布局一直用不好,看看这个方法行不行
WPFyoudian gaoshen ya,xiaxialai xuexixia show me the code!
好好学习天天向上,收藏了 谢谢啦,正在学习中
什么意思没看明白
页:
[1]
2