我需要从 Visual Studio 调用 acadcolor 组件。当我添加组件时它很好。
在我需要使用该组件之后,只需将该控件拖放到 Windows 窗体中,Visual Studio 就会自动关闭,而不会传递任何消息。
任何人都可以知道如何添加以及如何使用 Visual Studio 中的 acadcolor 组件吗?
提前谢谢。
这是关于 Alex Filipovici 所提到的 ADN 文章: Use 64-bit ActiveX Component from a .NET Assembly
还有其他选择。这是使用 WPF 复制控件的 ADN 文章:WPF Implementation To Mimic Color Layer Controls。
如果要选择颜色,您也可以打开颜色对话框。这就是我最近所做的:
using acColor = Autodesk.AutoCAD.Colors;
using acWindows = Autodesk.AutoCAD.Windows;
//...
public acColor.Color GetAutoCADColor()
{
acWindows.ColorDialog colorDialog = new acWindows.ColorDialog();
DialogResult dialogResult = new DialogResult();
dialogResult = colorDialog.ShowDialog();
switch (dialogResult)
{
case DialogResult.OK:
return colorDialog.Color;
case DialogResult.Cancel:
return Color.Empty.ConvertToAutoCADColor();
default:
return Color.Empty.ConvertToAutoCADColor();
}
}
扩展方法:
internal static class ColorExtensions
{
internal static Color ConvertToWindowsColor(this acColor.Color acColor)
{
return Color.FromArgb(acColor.ColorValue.ToArgb());
}
internal static acColor.Color ConvertToAutoCADColor(this Color winColor)
{
return acColor.Color.FromRgb(winColor.R, winColor.G, winColor.B);
}
}
只是一两个想法。