c# 剪切板问题 不能及时读取路径

//清空剪切板
Clipboard.Clear();

//这个是后台ctrl c
SendCtrlC(GetForegroundWindow());

//重点在这里 (这之前已经把内容复制到剪切板了,别和我说内容没复制进来,我用0字节的文件测试的,即使我放在子线程让子线程等待1秒钟再读取路径也一样提示超出索引,反正就一定要弹出MessageBox.Show才行。。。。)
//MessageBox.Show("1");

//显示剪切板里刚刚复制的文件的路径
textBox1.Text = Clipboard.GetFileDropList()[0];

如果把MessageBox.Show("1");,就会提示超出索引
一定要弹出MessageBox后才能读出路径
这是什么原因

Clipboard.Clear();
SendCtrlC(GetForegroundWindow());
//MessageBox.Show("1");
textBox1.Text = Clipboard.GetFileDropList()[0];

用自带的剪贴板查看器看下