C# richTextBox 显示背景色

主要原理是:将其的编辑框透明掉. 背景色其实就是他下面的pannel控件的背景色而已!

 

创建一个新类 继承自 richTextBox.


class TransparentRichTextBox : RichTextBox
        {
            public TransparentRichTextBox()
            {
                base.ScrollBars = RichTextBoxScrollBars.None;
            }

            override protected CreateParams CreateParams
            {
                get
                {
                    CreateParams cp = base.CreateParams;
                    cp.ExStyle |= 0x20;
                    return cp;
                }
            }
        }

base 关键字用于从派生类中访问基类的成员:调用基类上已被其他方法重写的方法。

  使用base就可以代替RichTextBox.并使用RichTextBox的方法.
override:要扩展或修改继承的方法、属性、索引器或事件的抽象实现或虚实现,必须使用 override 修饰符.

CreateParams:封装创建控件时所需的信息。

这里扩展了创建RichTextBox的信息.

ExStyle:扩展窗口样式值的按位组合。

|= 0x20: 或运算.该运算导致richTextBox背景色成透明.

posted @ 2011-09-24 17:27  jex  阅读(1200)  评论(0)    收藏  举报