尝试获取空文本框的消息警报

时间:2014-06-24 17:47:25

标签: c#

我目前正在开发一个隐写术程序。

问题是,只要用户没有选择图像,就会发生错误。 因此,每次用户选择图像时,我都会决定提示错误消息,但它不起作用。

错误发生在,

Bitmap img = new Bitmap(fileText.Text);

它说,argument exception is unhandled, the path is not of a legal form.

private void encodeBtn_Click(object sender, EventArgs e)
{

    if (!string.IsNullOrWhiteSpace(fileText.Text))
    {
        MessageBox.Show("abc");
        return;
    }

    Bitmap img = new Bitmap(fileText.Text);

    for (int i = 0; i < img.Width; i++)
    {
        for (int j = 0; j < img.Height; j++)
        {
            Color pixel = img.GetPixel(i, j);

            if (i < 1 && j < msgText.TextLength)
            {
                char letter = Convert.ToChar(msgText.Text.Substring(j, 1));
                int value = Convert.ToInt32(letter);

                img.SetPixel(i, j, Color.FromArgb(pixel.R, pixel.G, value));
            }

            if (i == img.Width - 1 && j == img.Height - 1)
            {
                img.SetPixel(i, j, Color.FromArgb(pixel.R, pixel.G, msgText.TextLength));
            }
        }
    }

2 个答案:

答案 0 :(得分:0)

我认为你测试字符串的逻辑是错误的:

    if (string.IsNullOrWhiteSpace(fileText.Text))
{
    MessageBox.Show("abc");
    return;
}

右?因为要显示消息框,如果它为null或空格。另外,我认为空文本框是空字符串,而不是空格。

答案 1 :(得分:0)

您应该检查文件名是否正确以及该文件是否确实存在:

string fileName = fileText.Text;
if(string.IsNullOrWhiteSpace(fileName) || !System.IO.File.Exists(fileName)) {
    MessageBox.Show("Wrong file name");
    return;
}