C# 仅当文本框为空时显示图片

C# 仅当文本框为空时显示图片,c#,winforms,C#,Winforms,我的程序:我有一个textBox和一个pictureBox,其中包含一个错误图片,正好放在我的程序中userControl的textBox旁边 我的目标是:仅当用户在文本框中键入文本时,我才想在pictureBox中隐藏图片。如果文本框留空,则应显示pictureBox中的图像 我尝试使用errorProvider,但我完全迷路了,因为我是C编程的新手。在线上有很多errorProvider示例,但所有示例都使用表单,我正试图在UserControl中实现这一点。所以,我想我应该试试这个方法。你

我的程序:我有一个textBox和一个pictureBox,其中包含一个错误图片,正好放在我的程序中userControl的textBox旁边

我的目标是:仅当用户在文本框中键入文本时,我才想在pictureBox中隐藏图片。如果文本框留空,则应显示pictureBox中的图像

我尝试使用errorProvider,但我完全迷路了,因为我是C编程的新手。在线上有很多errorProvider示例,但所有示例都使用表单,我正试图在UserControl中实现这一点。所以,我想我应该试试这个方法。你能帮我查一下密码吗?提前谢谢你的帮助

答复:

Sealz回答有效!我的程序将脱机工作。所以,这一个也起作用:

if (String.IsNullOrEmpty(textBox1.Text))
        {
            //Show Picture
            pictureBox2.Visible = true;
        }
        else
        {
            //Hide Picture
            pictureBox2.Visible = false;
        }
谢谢大家看我的问题!你们都很棒=

您可以使用IsNullOrEmpty

我喜欢它

在form_Load上,将picturebox设置为nothing

 private void Form1_Load(object sender, EventArgs e) {
    pictureBox1.ImageLocation = "";
    }
然后在文本框中更改方法

private void textBox1_TextChanged(object sender, EventArgs e)
{
    if (String.IsNullOrEmpty(textBox1.Text))
    {
         pictureBox1.ImageLocation = "";
    }
    else
    {
        pictureBox1.ImageLocation = "Image\Location.com.etc";
    }
}

这将使框为空,开始时没有图像,键入时它将弹出。如果文本框被完全删除,图像将消失。

只需测试文本框是否有文本,并相应地设置属性

pictureBox1.ImageLocation = (textBox1.Text.Length > 0) ?
    "imagefile" : String.Empty;

如果需要动态更新,只需在textbox的TextChanged事件中执行此操作。

Form或UserControl在此没有区别。请使用textbox控件的TextChanged事件。如果TextBox.Text长度大于0,则隐藏图像。
pictureBox1.ImageLocation = (textBox1.Text.Length > 0) ?
    "imagefile" : String.Empty;