0

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

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

fileName正在从 中saveFileDialog拉出FilePath(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 来检查以确保刺痛到这里并且 textBox7.Text 被正确设置为 string(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);
    }
}

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

4

1 回答 1

1

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

于 2012-12-14T19:26:32.273 回答