Winforms 如何为textBox指定初始值?

Winforms 如何为textBox指定初始值?,winforms,textbox,Winforms,Textbox,我希望我的C#程序的文本框具有初始值。例如,在其中一个文本框,它应该说“请输入您的姓名” 单击文本框上的(或tabStop)时,初始值应消失,用户将能够在文本框中输入他们的输入 我可以用点击事件来完成所有这些,但使用这种方法,初始文本的不透明度不会降低。我怎样才能做到这一点呢?我假设您谈论的是winform(tabstop),您必须在事件按键内处理它。您可以使用以下代码: TextBox1.Select(0, TextBox1.Text.Length); 这将选择文本,当用户开始键入时,窗口将

我希望我的C#程序的
文本框
具有初始值。例如,在其中一个
文本框
,它应该说
“请输入您的姓名”

单击
文本框
上的(或tabStop)时,初始值应消失,用户将能够在
文本框
中输入他们的输入


我可以用
点击事件
来完成所有这些,但使用这种方法,初始文本的不透明度不会降低。我怎样才能做到这一点呢?

我假设您谈论的是winform(tabstop),您必须在事件按键内处理它。您可以使用以下代码:

TextBox1.Select(0, TextBox1.Text.Length);
这将选择文本,当用户开始键入时,窗口将为您删除该文本


对于TabStop,您也可以使用相同的代码来实现此行为。对于这种效果,您需要java脚本。因为java脚本提供鼠标悬停和鼠标移出功能,所以这些功能与您在本页搜索栏中看到的功能相同。如果您需要代码,请回复我。我可以给您。

这就是我最终的做法:

Boolean first_time_click = true;

private void Form1_Load(object sender, EventArgs e)
        {
            textBox1.ForeColor = System.Drawing.Color.Gray;
            textBox1.Text = "Enter the Text";
        }

private void For_First_Click()
        {
            if (first_time_click)
            {
                textBox1.Clear();
                textBox1.ForeColor = textBox1.ForeColor = SystemColors.WindowText;
            }
            first_time_click = false;
        }

private void textBox1_Click(object sender, EventArgs e)
        {
            For_First_Click();
        }

您只需设置Textbox的.Text属性,并在用户单击(或制表符)开始键入时使用GotFocus事件清除该框


请始终记住,浏览表单的方式不止鼠标,因此请使用GotFocus事件确定用户何时进入控件,并使用已验证事件确定用户何时更改数据并退出控件。

ASP.net、Winforms、WPF、,Silverlight…?那么初始文本看起来不那么不透明呢?这是另一个问题:您必须覆盖TextBox的OnPaint事件在Windows应用程序中显式设置颜色时要小心。如果有人使用非标准的配色方案,你会把他们搞得一团糟。但是,您可以使用默认系统颜色之一,如禁用的文本颜色或类似的颜色。我们在这里讨论的是winform,而不是首次单击。您可以使用TextBox.Modified属性,该属性只有在用户修改文本框后才变为真。