dockpanelsuite的一些修改

来源:互联网 发布:闲来麻将 源码 编辑:程序博客网 时间:2024/05/23 18:31

一个可以做出类似VS的免费控件,下载网址:http://sourceforge.net/projects/dockpanelsuite/

方便应用,做了一些修改:

1.修改双击关闭(在DockPaneStripBase的WndProc方法里)

else if (m.Msg == (int)Win32.Msgs.WM_LBUTTONDBLCLK){    base.WndProc(ref m);   int index = GetHitTest();if (DockPane.DockPanel.AllowRedocking && index != -1){   IDockContent content = Tabs[index].Content;   try {  
       //注释为原句       //  content.DockHandler.IsFloat = !content.DockHandler.IsFloat;   
     //替换为           
         content.DockHandler.Close();       }     catch  {   }}return;}
 
2.解决背景图片的问题(DockPanel的OnPaint方法里) 
protected override void OnPaint(PaintEventArgs e){   base.OnPaint(e);   //注释以下这两句  //Graphics g = e.Graphics;  //  g.FillRectangle(SystemBrushes.AppWorkspace, ClientRectangle);}
3.解决背景色无法改变问题(VS2005DockPaneStrip的OnPaint方法里)
protected override void OnPaint(PaintEventArgs e){    if (Appearance == DockPane.AppearanceStyle.Document)    {    //注释以下这两句    //if (BackColor != SystemColors.Control)    //    BackColor = SystemColors.Control;    }    else    {    if (BackColor != SystemColors.ControlLight)        BackColor = SystemColors.ControlLight;    }    base.OnPaint (e);    CalculateTabs();    if (Appearance == DockPane.AppearanceStyle.Document 
         && DockPane.ActiveContent != null)    {        if (EnsureDocumentTabVisible(DockPane.ActiveContent, false))            CalculateTabs();    }    DrawTabStrip(e.Graphics);}

.csharpcode, .csharpcode pre{font-size: small;color: black;font-family: consolas, "Courier New", courier, monospace;background-color: #ffffff;/*white-space: pre;*/}.csharpcode pre { margin: 0em; }.csharpcode .rem { color: #008000; }.csharpcode .kwrd { color: #0000ff; }.csharpcode .str { color: #006080; }.csharpcode .op { color: #0000c0; }.csharpcode .preproc { color: #cc6633; }.csharpcode .asp { background-color: #ffff00; }.csharpcode .html { color: #800000; }.csharpcode .attr { color: #ff0000; }.csharpcode .alt {background-color: #f4f4f4;width: 100%;margin: 0em;}.csharpcode .lnum { color: #606060; }

4.改变标签颜色(VS2005DockPaneStrip)

private static Brush BrushDocumentActiveBackground{ get { return new LinearGradientBrush(new Rectangle(0, 0, 1, 1),

Color.FromArgb(232, 242, 254),

Color.FromArgb(232, 242, 254), 1);/*SystemBrushes.ControlLightLight;*/ }}private static Brush BrushDocumentInactiveBackground{ get { return new LinearGradientBrush(new Rectangle(0, 0, 1, 1),

Color.FromArgb(173, 193, 220),

Color.FromArgb(173, 193, 220), 1); } //SystemBrushes.ControlLight; }}