现在遇到了一个不大不小的技术问题,想请各位大牛超牛们帮帮忙了,嘿嘿。。。
先看一下窗体的设置吧:
问题是这样的:当ScenePanel对象(类似窗体的一个容器)全屏后,按键盘上的ESC键,不能退出全屏状态了。
其中自定义的类文件如下:
ExternAPI
1 public class ExternAPI
2 {
3 [DllImport("...", EntryPoint = "...")]//这里就省却了Dll的名字和方法入口了
4 public static void WndProc(IntPtr hwnd, int msg, IntPtr wparam, IntPtr lparam);
5 }
其中:MainFrom类中在重写基类的WndProc时调用了ExternAPI的WndProc窗口处理过程,
ScenePanel类中构造函数是无参的,也重写了基类的WndProc,也调用了ExternAPI的WndProc窗口处理过程。
WndProc
1 protected override void WndProc(ref Message m)
2 {
3 base(ref m);
4 ExternAPI.WndProc(m.HWnd,m.Msg,m.WParam,m.LParam);
5 }
现在在处于全屏的状态下按ESC键后,消息跑到了ScenePanel容器中,想在ScenePanel中对MainFrom对象进行设置。
注:我试过把ScenePanel的构造函数改成参数是含有MainFrom 对象的,在MainFrom主窗体new (实例化)ScenePanel对象时,把this放了进去。在运行的时候,白屏了,没有出现界面。
现在 该怎么做好。愁死哥了,呵呵。。。希望大家帮忙解决啊。