【问题标题】:How to set text to a disabled textbox?如何将文本设置为禁用的文本框?
【发布时间】:2019-11-06 12:27:42
【问题描述】:

我在 C# 中有一个文本框和一些 RadioButtons。

现在我想将文本设置为禁用的文本框。

我尝试了什么:

private void RadioButton1_CheckedChanged(object sender, EventArgs e)
{
    TextBox1.Text = "****";
    TextBox1.Enabled = false;
}

这样我就看不到文字了。

如果我启用文本框,文本框会显示字符串 (****)

如何将文本设置为禁用的文本框?

【问题讨论】:

  • 如果您只想在禁用文本框的情况下设置 TextBox.Text 属性,该属性应该可以直接使用。禁用文本框只会禁用 GUI 上的文本框。仍然可以通过代码进行操作。
  • WinForms?网络表单? MVC? PWF?
  • Windows 窗体,对不起,我忘了说。

标签: c# winforms c#-4.0


【解决方案1】:
private void RadioButton1_CheckedChanged(object sender, EventArgs e)
{
        textBox1.Enabled = true;
        textBox1.Text = "*****";
        textBox1.ReadOnly = true;
        textBox1.Enabled = false;
    this.Invalidate(); //to perform form re-draw
}

【讨论】:

  • 使用“ReadOnly”现在我可以看到文本,但我可以单击文本框,并且它不会变灰... :(
  • 请参考这个how to disable select highlight下次请更具体
  • 您的链接与我的问题无关 下次请更具体;)
  • 现在试试,它在我这边工作正常,我看到文字,但无法点击
  • 感谢您的尝试。但在我这边,我没有工作。
【解决方案2】:

您可以根据文本框是否启用来更改PasswordChar 属性:

TextBox1.PasswordChar = TextBox1.Enabled ? '\0' : '*';

\0 字符将以纯文本形式显示内容。

请参阅this answer 了解类似结果。

【讨论】:

  • 它不是密码文本框。它也可以是像“FFFF”这样的字符串。
  • 我不确定你的意思是什么?我给您的代码将允许您根据控件是否启用来屏蔽文本。如果这不是您要查找的内容,请编辑您的问题以使其更清晰。
  • 我有 10 个文本框...当我检查第一个复选框时,我想禁用两个文本框。在这个 TextBoxes 应该是一个字符串 ...
  • 你的开场白是i have a Textbox。这和有10个不一样吧?我真的不确定你在找什么。希望其他人的回答会有所帮助。
  • 如果我有 10 或 100 个文本框,则它不相关......我的问题是“我如何禁用带有文本的文本框”......我不问任何关于 PasswordChar 的问题????
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-23
  • 2012-08-23
  • 2013-07-10
  • 2023-03-08
  • 2011-03-06
相关资源
最近更新 更多