文本框控件不支持透明的背景色
public class MyTextBox : TextBox
{
public MyTextBox()
{
this.SetStyle(ControlStyles.SupportsTransparentBackC olor, true);
}
}
1. 创建一个窗体,无边框,TrancsparencyKey设置为跟TextBox一样;
2. 窗体上放一个TextBox,Dock属性设置为fill;
3. 在主窗体上放置一个Label,设置成透明;
4. 鼠标点击Label时,将自己做的窗体show出来,并且将label隐藏;
5. 焦点离开TextBox时,将TextBox的内容复制给Label。关闭无框窗体,显示label;
6. 其他细节就自己琢磨吧,比如鼠标外观啦,Tab键控制焦点移动啦之类。
总结
开源控件
AlphaBlendTextBox - A transparent/translucent textbox for .NET
Alpha Blended (Transparent Capable) TextBox and RichTextBox
另外:
C#中button透明,无边线框,但是点击透明部分能实现它的功能~~~· 谢谢
答:按钮的FlatStyle属性改成Flat. 加一个button1.BackColor=Color.Transparent; (或者加this.button1.FlatStyle=FlatStyle.Flat;button1.BackColor=Color.Transparent;