如何在WinForms中创建自定义3D轮播控件?

时间:2011-02-05 17:24:39

标签: .net winforms 3d controls custom-controls

我有一个winforms项目,我想开发一个自定义控件。

我的计划是完全“手动”绘制控件。

它将是一个3D旋转木马,但不像我发现使用图标和OpenGL或其他一些库将图像效果渲染到图标上的示例。我将在旋转木马中绘制每个对象,并在运行时以数学方式渲染这些对象的视觉效果(光照,倾斜等)。

知道有图书馆可以帮助解决这类问题(但没有足够的经验可以选择),我正在寻求完成此任务的建议。

请提出建议,允许我编译和交付我的应用程序,而不会对“第三方”依赖关系施加大规模的惩罚(即我只想发送所需的dll - 互操作或其他)。

另请注意,我正在寻找一个免费的钱($ 0)库,因为这是个人项目(目前)。

1 个答案:

答案 0 :(得分:0)

我将暂时接受Cody Gray的建议。

我可能决定在以后再去另一个方向,但到目前为止这似乎是最简单的路径。

顺便说一句,我在这里讨论使用WPF控件与WinForms主机应用程序一起工作的原因:

http://windowsclient.net/learn/integration.aspx

最重要的是:

  

此外,您需要修改项目文件,因为Windows应用程序不能处理XAML文件。您需要打开项目文件(.csproj,.vbproj,等)在记事本等编辑器中滚动到底部。您将看到以下行:

     

< Import Project =“$(MSBuildBinPath)\ Microsoft.CSharp.targets”/>

     

您需要复制此行并将其粘贴到上一行的下方,然后将“CSharp”更改为“WinFX”,以便两行看起来像:

     

< Import Project =“$(MSBuildBinPath)\ Microsoft.CSharp.targets”/>

     

< Import Project =“$(MSBuildBinPath)\ Microsoft.WinFx.targets”/>

     

现在保存此文件并使用VS重新加载项目并运行应用程序。

似乎我已经忽略了这个重要的细节,或者我一直在解析的例子没有强调这一点。

无论哪种方式,我希望这可能会帮助将来可能尝试做类似事情的其他人!

HTH,

电子