文本框不显示给定的字符串

时间:2012-12-14 17:51:24

标签: c# string textbox savefiledialog

我的问题的标题似乎比我的问题更简单。我正在做的是尝试将一个字符串放入我的文本框中,但它不会进入。我这样做是通过将字符串从一个类传递到另一个类然后再传递给另一个类。可以这么说,从梯子上滴下来。字符串从这里开始:

public static void FilePath(string fileName)
{
    string fn = fileName;
    PicForm.FileName(fn);
}

fileName正在通过saveFileDialogFilePath(sd.FileName)中撤出。然后它移动到PicForm.FileName(),看起来像这样:

public static void FileName(string fileName)
{
    string fn = fileName;
    AddAtt aa = new AddAtt(Form1.con);
    aa.AddScan(fn);            
}

从那里发送到aa.AddScan(),看起来像这样:

public void AddScan(string fileName)
{
    textBox7.Text = fileName;
}

显然这是字符串要输入文本框,但事实并非如此。现在我已经添加了MessageBoxes来检查以确保sting正在这里,并且textBox7.Text被正确地设置为字符串(fileName)。 MessageBoxes显示代码有效。但文本框说的不同。我也尝试了另一种使用AddScan()的方法。我将它添加到另一个使用openFileDialog的按钮。这看起来像这样:

private void button3_Click(object sender, EventArgs e)
{
    string Chosen_File = "";
    openFileDialog1.InitialDirectory = "C:";
    openFileDialog1.FileName = "";

    if (openFileDialog1.ShowDialog() == DialogResult.Cancel)
    {
        MessageBox.Show("Operation Cancelled");
    }
    else
    {
        Chosen_File = openFileDialog1.FileName;
        //textBox7.Text = Chosen_File;
        AddScan(Chosen_File);
    }
}

现在,当我从该click事件中调用AddScan()时,textBox7会正确显示文本。我的问题是为什么它以一种方式工作而不是另一种方式。在我看来,代码应该工作。任何帮助都会很棒。

1 个答案:

答案 0 :(得分:1)

在FileName函数中,当您确实需要使用该类的现有实例来设置文本框中的文本时,您正在创建AddAtt类的新实例。