您的位置首页百科知识

C#设置TextBox、RichTextBox 控件透明

C#设置TextBox、RichTextBox 控件透明

的有关信息介绍如下:

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"就好了。