WEB开发网
开发学院软件开发C语言 成功解决Developer Express和Janus WinForms Cont... 阅读

成功解决Developer Express和Janus WinForms Controls中控件的冲突

 2009-03-03 08:17:52 来源:WEB开发网   
核心提示:最新在做一套GIS系统的框架,其中用到了Janus WinForms Controls和Developer Express这两个插件, 我用DE的xtraTabbedMdiManager组件来管理我的子窗体,成功解决Developer Express和Janus WinForms Controls中控件的冲突,在父窗体

最新在做一套GIS系统的框架,其中用到了Janus WinForms Controls和Developer Express这两个插件。

我用DE的xtraTabbedMdiManager组件来管理我的子窗体。在父窗体中放置了janus的Ribbon控件做菜单。让我比较郁闷的是,直接放上去会在运行的时候会弹出错误窗口,如下:

System.InvalidOperationException: 窗口句柄已存在。
   在 System.Windows.Forms.NativeWindow.CheckReleased()
   在 System.Windows.Forms.NativeWindow.AssignHandle(IntPtr handle, Boolean assignUniqueID)
   在 System.Windows.Forms.NativeWindow.AssignHandle(IntPtr handle)
   在 Janus.Windows.Ribbon.JNSI.a(Object A_1, EventArgs A_2)
   在 System.Windows.Forms.Control.OnVisibleChanged(EventArgs e)
   在 System.Windows.Forms.Control.OnParentVisibleChanged(EventArgs e)
   在 System.Windows.Forms.Control.OnVisibleChanged(EventArgs e)
   在 System.Windows.Forms.ScrollableControl.OnVisibleChanged(EventArgs e)
   在 System.Windows.Forms.Form.OnVisibleChanged(EventArgs e)
   在 System.Windows.Forms.Control.WmShowWindow(Message& m)
   在 System.Windows.Forms.Control.WndProc(Message& m)
   在 System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   在 System.Windows.Forms.ContainerControl.WndProc(Message& m)
   在 System.Windows.Forms.Form.WmShowWindow(Message& m)
   在 System.Windows.Forms.Form.WndProc(Message& m)
   在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

在网上查了很久,也没有查到相关的资料。今天晚上想起之前解决arcengine里toc和DE的冲突问题的方法。借鉴这个方法,成功解决了这个问题。具体办法如下:

在设计时把xtraTabbedMdiManager的MDIParent设置为无,在父窗体初始化时,加入: xtraTabbedMdiManager1.MdiParent = this;搞定!

希望遇到类似问题的朋友可以借鉴一下!高兴ing!

Tags:成功 解决 Developer

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接