首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#的textbox怎么透明

2012-04-08 
C#的textbox如何透明?MainForm上设置了一个背景图片,图片上的某个位置有两个小框框,作用是输入文字的,框框

C#的textbox如何透明?
MainForm上设置了一个背景图片,图片上的某个位置有两个小框框,作用是输入文字的,框框里的背景是蓝色的。

我在框框的上方添加了textbox组件。但是textbox组件是白色的,无法设置成透明的。
而且,在设计框图上,我明明将textbox的大小拉得刚刚好,就是和背景图上的蓝色小框完全覆盖,但是在运行的时候,textbox却没有将蓝色的完全覆盖,周围显示出一圈细线。

问题,1,怎么样将textbox设置成透明。
2,为什么MainForm设计上,我明明吧textbox和北京上的蓝色框调成一样大,并且覆盖了的,但是运行后,却没有覆盖完,textbox明显小一圈,周围显示出一圈蓝色的,怎么办?


[解决办法]
不知道你要的透明是什么效果,但是文本框全透明没有任何意义。你如果是想达到和窗体一样,那么背景色和窗体一个颜色就好了
窗体背景是图片你就截图做文本框背景吧!应该能达到你的要求
[解决办法]
1.

C# code
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;            }        }        } 

热点排行