C#的textbox如何透明?
MainForm上设置了一个背景图片,图片上的某个位置有两个小框框,作用是输入文字的,框框里的背景是蓝色的。
我在框框的上方添加了textbox组件。但是textbox组件是白色的,无法设置成透明的。
而且,在设计框图上,我明明将textbox的大小拉得刚刚好,就是和背景图上的蓝色小框完全覆盖,但是在运行的时候,textbox却没有将蓝色的完全覆盖,周围显示出一圈细线。
问题,1,怎么样将textbox设置成透明。
2,为什么MainForm设计上,我明明吧textbox和北京上的蓝色框调成一样大,并且覆盖了的,但是运行后,却没有覆盖完,textbox明显小一圈,周围显示出一圈蓝色的,怎么办?
[解决办法]
不知道你要的透明是什么效果,但是文本框全透明没有任何意义。你如果是想达到和窗体一样,那么背景色和窗体一个颜色就好了
窗体背景是图片你就截图做文本框背景吧!应该能达到你的要求
[解决办法]
1.
public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { RichEdit50 re = new RichEdit50(); //用RichEdit50来取代你的TextBox 这个就是透明文本框 re.Text = "I am Transparent"; this.Controls.Add(re); this.Show(); } } public class RichEdit50 : RichTextBox { [DllImport("kernel32.dll", CharSet = CharSet.Auto)] static extern IntPtr LoadLibrary(string lpFileName); protected override CreateParams CreateParams { get { CreateParams prams = base.CreateParams; if (LoadLibrary("msftedit.dll") != IntPtr.Zero) { prams.ExStyle |= 0x020; // transparent prams.ClassName = "RICHEDIT50W"; } return prams; } } }