0122_DockPanelSuite_双击最大化

前言:子窗口的控制按钮被dockpanel控制,MaximizeBox属性不管用,
修改dockpanel控件源代码,找到项目中的文件FloatWindow.cs
在240行左右有这样的代码,中间标“*”的部分是修改的部分,这样修改后,在浮动窗口的情况双击标题栏是最大化/最小化,而不是缩回去

else if (m.Msg == (int)Win32.Msgs.WM_NCLBUTTONDBLCLK) //双击消息事件
{
   uint result = NativeMethods.SendMessage(this.Handle, (int)Win32.Msgs.WM_NCHITTEST, 0, (uint)m.LParam);
   if (result != 2)    // HITTEST_CAPTION
   {
       base.WndProc(ref m);
       return;
   }
   DockPanel.SuspendLayout(true);
   // Restore to panel
   foreach (DockPane pane in NestedPanes)
   {
       if (pane.DockState != DockState.Float)
       {
           continue;
       }

       /*******************************双击最大化(开始)*******************************/
       //pane.RestoreToPanel();
       Form form = (Form)System.Windows.Forms.Form.FromHandle(this.Handle);
       if (form.WindowState != FormWindowState.Maximized)
           form.WindowState = FormWindowState.Maximized;
       else
           form.WindowState = FormWindowState.Normal;
       /*******************************双击最大化(结束)*******************************/

   }
   DockPanel.ResumeLayout(true, true);
   return;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,445评论 4 61
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,690评论 1 92
  • Swift版本点击这里欢迎加入QQ群交流: 594119878最新更新日期:18-09-17 About A cu...
    ylgwhyh阅读 25,702评论 7 249
  • 谁的人生不流血汗 我们要勇敢 黎明前也黑暗 人生终将风轻云淡 女/男子汉 凭栏笑看重重磨难 黑夜太漫长 青春太短暂...
    伍云阅读 3,725评论 4 14
  • 文/碧鲜 檀郎,檀郎,我心爱的檀郎,你就在我的心上。 那年的相遇,就像最幻的梦一场。七夕河灯如星,隔开你和我。但你...
    碧鲜阅读 3,003评论 0 2

友情链接更多精彩内容