如何获取浏览文件的路径并在c#的文本框中写入?

时间:2013-03-20 12:03:13

标签: c#

我的代码是 -

    protected void BrowseButtonClick(object sender, EventArgs e)
    { 
        Thread newThread = new Thread(new ThreadStart(ThreadMethod));
        newThread.SetApartmentState(ApartmentState.STA);
        newThread.Start();
    }


    void ThreadMethod()
    {
            OpenFileDialog dlg = new OpenFileDialog();
            dlg.ShowDialog();
            BrowseTextBox.Text = string.Format("{0}/{1}", Path.GetDirectoryName(dlg.FileName), dlg.FileName);
    }

请帮助......

2 个答案:

答案 0 :(得分:0)

目前还不是很清楚你真正需要什么。我假设您从另一个线程更新UI控件时遇到问题。

void ThreadMethod()
{
    OpenFileDialog dlg = new OpenFileDialog();
    dlg.ShowDialog();
    MethodInvoker invoker = delegate 
    {
        BrowseTextBox.Text = .... 
    };

    if(InvokeRequired)
    {
        Invoke(invoker);
    }
    else
    {
        invoker();
    }
}

<强>更新

对于WPF应用程序,您应该更改上面的代码。这是一个例子:

Action invoker = delegate 
    {
        BrowseTextBox.Text = .... 
    };
Dispatcher.Invoke(invoker);

答案 1 :(得分:-1)

BrowseTextBox.Text = dlg.FileName

相关问题