用C#如何添加自定义控件
需要用CsGL与OpenGL结合调用图形库,首先需要用C#添加一个自定义控件,对C#涉入不深,求指导。以下代码是在VS08下编写
的,具体是什么问题?
using System;
using CsGL.OpenGL;
using CsGL.Util;
namespace CsGL
{
public partial class MyView : OpenGLControl
{
public MyView()
{
InitializeComponent();
}
protected override void InitGLContext()
{
base.InitGLContext();
}
public override void glDraw()
{
base.glDraw();
}
protected override bool IsInputKey(Keys key) //处理input事件
{
base.IsInoutKey();
}
}
namespace CsGL
{
class MyKeyboard : Keyboard//新建一个类派生于MyKeyBroard
{
public override void KeyStateChanged(Event e)//重载键盘事件函数
{
base.KeyStateChanged(e);
}
}
}
namespace CsGL
{
class MyMouse : Mouse//新建一个类派生于Mouse
{
public override void MouseEvent(Mouse.Event e, int dx, int dy)//重载鼠标事件函数
{
base.MouseEvent(e, dx, dy);
}
}
}
MyView my=new MyView();
this.ClientSize=new System.Drawing.Size(600,400);
this.controls.Add(my);
my.Parent=this;
my.BringToFront();
}
---------------------------------------------------------------------------
------ 已启动生成: 项目: testOpenGL, 配置: Debug Any CPU ------
D:\Program Files\Microsoft Visual Studio 9.0\VC\include\GL\testOpenGL\testOpenGL\Program.cs(50,5): 错误 CS0116: 命名空间并不直接包含诸如字段或方法之类的成员
D:\Program Files\Microsoft Visual Studio 9.0\VC\include\GL\testOpenGL\testOpenGL\Program.cs(50,19): 错误 CS1518: 应输入 class、delegate、enum、interface 或 struct
D:\Program Files\Microsoft Visual Studio 9.0\VC\include\GL\testOpenGL\testOpenGL\Program.cs(51,25): 错误 CS1518: 应输入 class、delegate、enum、interface 或 struct
编译完成 -- 3 个错误,0 个警告
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========