из-за escape-символа;
string path = Application.StartupPath+"\flash.swf";
путь фактически равен C:\Users\username\Documents\Visual Studio 2008\Projects\WindowsFormsApplication1\WindowsFormsApplication1\bin\Debuglash.swf
, как видите, ...\Debug + \f
преобразован в Debug
, чтобы избежать экранирования символов, используйте @
string path = Application.StartupPath+@"\flash.swf";
теперь путь равен C:\Users\username\Documents\Visual Studio 2008\Projects\WindowsFormsApplication1\WindowsFormsApplication1\bin\Debug\flash.swf
, вот что вы хотите получить.