1
我需要從Visual Studio調用acadcolor組件。當我添加組件時它很好。如何在C#中添加自定義組件?
當我需要使用該組件時,只需將該控件拖放到窗體窗體中,visual studio自動關閉而不傳遞任何消息。
任何人都可以知道如何添加以及如何使用visual studio的acadcolor組件?
感謝提前。
我需要從Visual Studio調用acadcolor組件。當我添加組件時它很好。如何在C#中添加自定義組件?
當我需要使用該組件時,只需將該控件拖放到窗體窗體中,visual studio自動關閉而不傳遞任何消息。
任何人都可以知道如何添加以及如何使用visual studio的acadcolor組件?
感謝提前。
下面是關於正是亞歷克斯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);
}
}
只是一個或兩個思想。
這是您需要的解決方案:[VS 2008 64位中的AcCtrl.dll](http://forums.autodesk.com/t5/NET/AcCtrl-dll-in-VS-2008-64bit/td-p/ 3115750)?嘗試以編程方式添加控件,如鏈接所示。 –