c#使用vtk(VTKDotNet)窗体设计器无法显示解决办法


最近在使用C# + VTK 做点云显示,用VTKDotNet 控件,往往会出现WinForm 设计器错误,提示数据丢失之类的。

错误界面如下:


解决办法:

1)首次注释掉WinForm.Designer.cs中关于VtkControl实例化的代码,共有四处,如下图

图1


图2



图3


 

 图4

2) 在Winform 实例化代码中添加如下代码:

 

	public FrmMain()
        {
            InitializeComponent();

            vtkFormsWindowControl vtkControl = new vtkFormsWindowControl();
            vtkControl.Location = new Point(30, 30);
            vtkControl.Name = "vtkControl";
            vtkControl.TabIndex = 0;
            vtkControl.Text = "vtkFormsWindowControl";
            vtkControl.Dock = DockStyle.Fill;
            this.Controls.Add(vtkControl);

        }

这样问题就解决了~祝大家好运

ps:附运行结果图







  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用C#VTK(Visualization Toolkit)来显示坐标轴。下面是一个简单的示例代码: ```csharp using Kitware.VTK; class Program { static void Main(string[] args) { // 创建一个vtkRenderer vtkRenderer renderer = vtkRenderer.New(); // 创建一个vtkRenderWindow vtkRenderWindow renderWindow = vtkRenderWindow.New(); renderWindow.AddRenderer(renderer); // 创建一个vtkRenderWindowInteractor vtkRenderWindowInteractor interactor = vtkRenderWindowInteractor.New(); interactor.SetRenderWindow(renderWindow); // 创建一个vtkAxesActor vtkAxesActor axesActor = vtkAxesActor.New(); // 设置坐标轴的长度和标签的可见性 axesActor.SetTotalLength(1, 1, 1); axesActor.SetXAxisLabelText("X"); axesActor.SetYAxisLabelText("Y"); axesActor.SetZAxisLabelText("Z"); axesActor.GetXAxisCaptionActor2D().SetVisibility(1); axesActor.GetYAxisCaptionActor2D().SetVisibility(1); axesActor.GetZAxisCaptionActor2D().SetVisibility(1); // 将坐标轴添加到渲染中 renderer.AddActor(axesActor); // 渲染并启动交互 renderWindow.Render(); interactor.Start(); } } ``` 这段代码创建了一个vtkRenderWindow和一个vtkRenderer,并将vtkAxesActor添加到渲染中。然后通过设置坐标轴的长度和标签可见性来自定义坐标轴。最后,渲染并启动交互显示窗口和坐标轴。 确保你已经将VTK库添加到你的项目中,并将其引用添加到代码文件中。此外,你可能还需要通过NuGet包管理安装VTK库。 希望这个示例能帮助到你!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值