C#设置TextBox、RichTextBox 控件透明
的有关信息介绍如下:我们无法通过C#提供给我的属性来设计TextBox、RichTextBox等控件的背景透明,需要用到Windows api来设计。
沿用C#设置label、button控件透明的实例,继续来设计TextBox、RichTextBox等控件的背景透明。
设置TextBox控件透明:需要自定义类(继承TextBox)
点击项目,添加类,类名为“textbox_tm”
需要引入命名空间:
using System.Windows.Forms;
using System.Runtime.InteropServices;
使类textbox_tm继承TextBox:
class textbox_tm:TextBox
引用“kernel32.dll”,完成透明工作
[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
进入窗体设计界面,发现我们自定义的类“textbox_tm”自动生成了一个自定义控件,在工具中找到“textbox_tm”自定义控件。
将这个自定义控件投到窗体上,设置BorderStyle为"none"。编译运行程序就可以看到我刚才添加的textbox控件了(红框框中的)
设置RichTextBox控件透明:
添加一个类“RichTextBox_tm”,继承自“RichTextBox”。方法和textbox控件设置方法差不多。具体代码如下:
我们编译下,进入窗体设计界面,选择工具箱,就可以看到我们刚创建的自定义控件“RichTextBox_tm”。
将我们自定义创建的控件拖到窗体上,这里为了说明,我没有将设置BorderStyle为"none"。所以可以看到边框。需要去掉的朋友可直接设置BorderStyle为"none"就好了。