【发布时间】:2016-02-04 16:29:36
【问题描述】:
我在一个即时构建表单窗口的控制台应用程序中以编程方式创建我的文本框。我试图让输入框(例如文本框)显示为不可见,但仍允许用户输入数据,例如用户名和密码或我提供的任何其他自定义字段。这是一个游戏启动器,我试图让它看起来不像一个 Windows 组件。 我已经尝试了下面帖子中的一些解决方案。
Transparency for windows forms textbox
编辑:正如您在上面看到的,我已经提到这并不能解决我的问题。我不使用表单设计器,因为它有删除我的代码的讨厌习惯,因为我认为“它知道得更好”。
接受的答案对我不起作用,因为我不使用表单设计器和InitializeComponent();
不起作用它只是告诉我它不是组件的功能。
我已经做到了这一点。
using System.Windows.Forms;
namespace Launcher_Namespace
{
public class TransparentTextBox : TextBox
{
public TransparentTextBox()
{
this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
}
}
}
在初始化字段的代码主体中
//Initialise Inputs
_username = new TransparentTextBox();
_username.Bounds = new Rectangle(120, 10, 120, 21);
_username.BackColor = Color.Transparent;
_username.BorderStyle = 0;
_username.Visible = false;
但这一切已经实现的是允许我设置_username.BackColor = Color.Transparent; 而不抛出错误。输入框保持白色,没有边框。我只想让背景透明。甚至 MSDN 也推荐此解决方案,但它对我不起作用。我剩下的唯一解决方案是构建一个自定义 Label 类,该类获取输入并读取关键输入并将它们添加到 .Text 属性,但我不想这样做。
【问题讨论】:
-
这不是重复的。
-
聊天被冻结在加载面板上。
标签: c# winforms textbox transparency