Assuming you have a button to open the Dialog
Solution 1 (this way the window freezes so its not really a solution, i post it anyway):
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
if (ofd.ShowDialog() == DialogResult.Ok)
{
Thread.Sleep(10000);
}
}
Solution 2 (use of BackGroundWorker, a helpful tool for async jobs):
public partial class Form1 : Form
{
BackgroundWorker bgw;
String fileUrl;
public Form1()
{
InitializeComponent();
bgw = new BackgroundWorker();
bgw.DoWork += new DoWorkEventHandler(bgw_DoWork);
bgw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bgw_RunWorkerCompleted);
}
void bgw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
button1.Text = fileUrl;
}
void bgw_DoWork(object sender, DoWorkEventArgs e)
{
Thread.Sleep(10000);
}
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
var dlr = ofd.ShowDialog();
if (dlr == DialogResult.Ok)
{
fileUrl = ofd.FileName;
bgw.RunWorkerAsync();
}
}
}
edit: 'Thread.Sleep(10000)' simulates your long running process ('Processing();')