您的位置:首页 > 编程语言 > C#

C#下使用Winform用户控件,Host vtkRenderWindow,来实现vtk与winform集成

2013-03-10 20:03 666 查看
使用vtk的C# warp 版本 ActiViz.net之vtkRenderWindow。

1.首先写个派生于UserControl下的一个自定义控件,用来host vtkRenderWindow

代码如下:

public partial class WinFormPaneFrame : UserControl
{

public WinFormPaneFrame() :
base()
{
InitializeComponent();
}
}


2. 在 构造函数中,添加vtkRenderWindow类的实现,并设置其父窗口时该控件。设置该renderWindow窗口的size 和控件的尺寸一致。启动该renderWindow

代码如下:

this._RenderWindow = vtkRenderWindow.New();
this._Renderer = vtkRenderer.New();
this._Renderer.SetBackground(0.2, 0.2, 0.2);
this._RenderWindow.AddRenderer(this._Renderer);
this._RenderWindow.SetParentId(this.Handle);
this._RenderWindow.SetSize(this.Size.Width, this.Size.Height);
this._RenderWindow.Start();


3. 保持vtkRenderWindow的窗口大小和用户控件的大小一致。相应OnSizeCHanged事件,设置renderWindow的size

代码:

private void UserControlPaneFrame_SizeChanged(object sender, EventArgs e)
{
this._RenderWindow.SetSize(this.Size.Width, this.Size.Height);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: