2013-05-28 16 views
1

我需要从Visual Studio调用acadcolor组件。当我添加组件时它很好。如何在C#中添加自定义组件?

当我需要使用该组件时,只需将该控件拖放到窗体窗体中,visual studio自动关闭而不传递任何消息。

任何人都可以知道如何添加以及如何使用visual studio的acadcolor组件?

感谢提前。

+1

这是您需要的解决方案:[VS 2008 64位中的AcCtrl.dll](http://forums.autodesk.com/t5/NET/AcCtrl-dll-in-VS-2008-64bit/td-p/ 3115750)?尝试以编程方式添加控件,如链接所示。 –

回答

0

下面是关于正是亚历克斯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); 
    } 
} 

只是一个或两个思想。

相关问题