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

时间:2013-08-26 19:14:15

标签: c# winforms

我的程序:我的程序中的userControl中有一个textBox和一个pictureBox(包含错误图片,紧挨着textBox放置)。

我的目标:我想隐藏图片框中的图片,只有当用户在textBox中输入文字时。如果textBox保留为空白,则应显示pictureBox中的图像。

enter image description here

我尝试使用errorProvider,但我完全迷失了,因为我是C#编程的新手。在线有很多errorProvider示例,但所有示例都使用Form,我正在尝试在UserControl中执行此操作。所以,我想我应该尝试这种方法。请问你能帮我解决这个问题吗?感谢您的帮助。

解答:

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

if (String.IsNullOrEmpty(textBox1.Text))
        {
            //Show Picture
            pictureBox2.Visible = true;
        }
        else
        {
            //Hide Picture
            pictureBox2.Visible = false;
        }

感谢大家查看我的问题!你们都很棒。 =)

2 个答案:

答案 0 :(得分:0)

您可以使用IsNullOrEmpty

if (String.IsNullOrEmpty(textBox1.Text))
{
    //Show Picture
    pictureBox1.ImageLocation = "locationofimg";
}
else
{
    //Hide Picture
    pictureBox1.ImageLocation = "";
}

用它来表达。

在form_Load()上将图片框设置为空

 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";
    }
}

这将使该框为空以无图像开始,当您键入时它将弹出。如果完全删除框文本,图像将消失。

答案 1 :(得分:0)

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

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

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