1

我需要从 Visual Studio 调用 acadcolor 组件。当我添加组件时它很好。

在我需要使用该组件之后,只需将该控件拖放到 Windows 窗体中,Visual Studio 就会自动关闭,而不会传递任何消息。

任何人都可以知道如何添加以及如何使用 Visual Studio 中的 acadcolor 组件吗?

提前谢谢。

4

1 回答 1

0

这是关于 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);
    }
}

只是一两个想法。

于 2015-08-13T19:35:07.517 回答