指定shockwave flash对象的相对路径

时间:2013-08-21 04:29:32

标签: asp.net winforms c#-4.0 axshockwaveflash

在Windows窗体中播放.SWF文件时,我注意到它不需要任何相对路径。

以下所做的是,每次PlayVideo表单对话框打开时,它都会加载一个我使用全局变量跟踪的新视频:GlobalVariablesTracking.videoTrack并在成功加载视频后递增它。

private void PlayVideo_Load(object sender, EventArgs e)
 {
   CurrentVideoKey = GlobalVariablesTracking.videoTrack;
   currentVideoName = ConfigurationManager.AppSettings[CurrentVideoKey.ToString()];

 if (!String.IsNullOrEmpty(currentVideoName))
   {
     GlobalVariablesTracking.videoTrack = GlobalVariablesTracking.videoTrack + 1;
    axShockwaveFlash1.Movie = "\\Videos\\" + currentVideoName;
    axShockwaveFlash1.Play();                
   }
 }

以下是我从App.Config

中读取的密钥
<add key="1" value="a.swf"/>
<add key="2" value="b.swf"/>
.....

我在线上遇到的问题:

axShockwaveFlash1.Movie = "\\Videos\\" + currentVideoName;

不需要相对路径。如果指定完整的绝对路径如下,则它可以正常工作。

axShockwaveFlash1.Movie = "C:\\Videos\\" + currentVideoName;

如何让这个ShockWave flash对象使用相对URL?

1 个答案:

答案 0 :(得分:0)

终于搞定了。

解决方案是使用Application.StartupPath并将其余的相对路径附加到其中。

axShockwaveFlash1.Movie = Application.StartupPath +"\\Videos\\"+ currentVideoPath;

MSDN article非常有帮助。