将openFileDialog设置为变量字符串

时间:2015-08-26 20:45:49

标签: c++-cli openfiledialog

我正在尝试创建一个重命名文件的小GUI(最终是一批文件)。我正在使用C ++和Windows用户(Visual Studio Community 2015)。

我有一个btnSelectFiles按钮,我想用它来打开文件选择GUI。

我正在尝试使用openFileDialog,但我正在努力将文件名设置为字符串变量。

我正在使用的代码:

public:
void btnSelectFiles_Click(Object^ /*sender*/, System::EventArgs^ /*e*/)
{
    IO::Stream^ myStream;
    OpenFileDialog^ openFileDialog1 = gcnew OpenFileDialog;

    openFileDialog1->InitialDirectory = "c:\\";
    openFileDialog1->Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
    openFileDialog1->FilterIndex = 2;
    openFileDialog1->RestoreDirectory = true;

    if (openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK)
    {
        if ((myStream = openFileDialog1->OpenFile()) != nullptr)
        {
            // Insert code to read the stream here.
            myStream->Close();
        }
    }

    /*String test = openFileDialog1;*/
}

我的许多尝试之一是使用:

String test = openFileDialog1

我也尝试过:

String test = openFileDialog1.FileName 

但收到表达式必须有类类型错误。

请有人帮我解决这个问题,从而帮助我理解这件事。我收到的这本书并未涵盖这一点,我一直在努力寻求在线帮助。

1 个答案:

答案 0 :(得分:1)

由于您使用的是c ++ / CLI(而不是C ++),因此必须编写

String^ test = new String( openFileDialog1.FileName );