C# 在c中播放swf文件后如何显示另一个窗体# 我有一个表单包含一个冲击波闪存对象。我想在播放文件之后或者按下一个键中间的另一个窗体时,我该怎么办?我应该使用一个事件吗? 我真的很感激有人能回答。 代码如下:
私有void Form1\u加载(对象发送方、事件参数e) {C# 在c中播放swf文件后如何显示另一个窗体# 我有一个表单包含一个冲击波闪存对象。我想在播放文件之后或者按下一个键中间的另一个窗体时,我该怎么办?我应该使用一个事件吗? 我真的很感激有人能回答。 代码如下:,c#,C#,私有void Form1\u加载(对象发送方、事件参数e) { axShockwaveFlash1.Movie = "c:/intro.swf"; axShockwaveFlash1.Forward(); axShockwaveFlash1.Play(); Form2 form2 = new Form2(); form2.Show(); } Form1 form1 = new Form1()
axShockwaveFlash1.Movie = "c:/intro.swf";
axShockwaveFlash1.Forward();
axShockwaveFlash1.Play();
Form2 form2 = new Form2();
form2.Show();
}
Form1 form1 = new Form1();
form1.Close();
}
表格2:
私有void Form2_加载(对象发送方、事件参数e)
{
axShockwaveFlash1.Movie = "c:/intro.swf";
axShockwaveFlash1.Forward();
axShockwaveFlash1.Play();
Form2 form2 = new Form2();
form2.Show();
}
Form1 form1 = new Form1();
form1.Close();
}
当我调试它时,它们都会显示出来,但我只需要form2,你可以将
Form1
实例传递给form2
构造函数,然后在那里关闭它,如:
public Form2(Form1 form1)
{
InitializeComponents();
form1.Hide();//hide the control from the user, or close it if it not the main form..
}
或者,如果希望在单击按钮时关闭form1
实例,则:
private Form1 _form1 = null;
public Form2(Form1 form1)
{
InitializeComponents();
_form1 = form1;
}
private void button1_Click(object sender, EventArgs e)
{
if (_form1 != null)
{
_form1.Hide();
}
}
在form1中初始化form2:
axShockwaveFlash1.Movie = "c:/intro.swf";
axShockwaveFlash1.Forward();
axShockwaveFlash1.Play();
Form2 form2 = new Form2(this);//"this here is the form1 instance itself"
form2.Show();
您可以将
Form1
实例传递给Form2
构造函数,然后在那里关闭它,如:
public Form2(Form1 form1)
{
InitializeComponents();
form1.Hide();//hide the control from the user, or close it if it not the main form..
}
或者,如果希望在单击按钮时关闭form1
实例,则:
private Form1 _form1 = null;
public Form2(Form1 form1)
{
InitializeComponents();
_form1 = form1;
}
private void button1_Click(object sender, EventArgs e)
{
if (_form1 != null)
{
_form1.Hide();
}
}
在form1中初始化form2:
axShockwaveFlash1.Movie = "c:/intro.swf";
axShockwaveFlash1.Forward();
axShockwaveFlash1.Play();
Form2 form2 = new Form2(this);//"this here is the form1 instance itself"
form2.Show();
您还可以使用计时器检查电影是否正在播放,如果没有,则打开新窗体,即form2
private void flash_Load(object sender, EventArgs e)
{
axShockwaveFlash1.Movie = @"C:\Users\Adil M\Documents\Visual Studio 2012\Projects\TProject\a.swf";
int a = axShockwaveFlash1.MovieData.Length;
timer1.Start();
}
现在对计时器事件进行编码
private void timer1_Tick(object sender, EventArgs e)
{
if (!axShockwaveFlash1.IsPlaying())
{
Fome2 fobj = new Form2();
this.Hide();
timer1.stop();
fobj.show();
}
else if(axShockwaveFlash1.IsPlaying())
{
}
}
此代码仅在电影完成时对您有效,或者对于任何键,您也可以在计时器中执行此操作
thanx您还可以使用计时器检查电影是否正在播放,如果没有,则打开新窗体,即form2
private void flash_Load(object sender, EventArgs e)
{
axShockwaveFlash1.Movie = @"C:\Users\Adil M\Documents\Visual Studio 2012\Projects\TProject\a.swf";
int a = axShockwaveFlash1.MovieData.Length;
timer1.Start();
}
现在对计时器事件进行编码
private void timer1_Tick(object sender, EventArgs e)
{
if (!axShockwaveFlash1.IsPlaying())
{
Fome2 fobj = new Form2();
this.Hide();
timer1.stop();
fobj.show();
}
else if(axShockwaveFlash1.IsPlaying())
{
}
}
此代码仅在电影完成时对您有效,或者对于任何键,您也可以在计时器中执行此操作
thanx您如何玩SWF?(您使用的是什么对象/控件?)如果
axshowckwavelash1
有一个已完成的事件或已完成的事件,请订阅它并在完成后显示新表单。我认为它没有此类事件!您如何玩SWF?(您使用的是什么对象/控件?)如果axshowckwavelash1
有一个事件用于完成
或查找
,订阅它并在完成时显示新表单。我不认为它有这样的事件!谢谢Jalal。我使用这种方法,但为什么即使我关闭form2,程序仍在运行?调试从未停止过?因为你没有按预期关闭form1,记得吗我们隐藏它。因此,处理form2Closing
事件并关闭form1实例。私有void form2\u FormClosing(对象发送方,FormClosingEventArgs e){form1 form1=new form1();form1.close();}不,这里您正在创建一个新的Form1
并将其关闭。您应该使用另一种解决方案:private Form1\u Form1=null;public Form2(Form1 Form1){InitializeComponents();\u Form1=Form1;}Form2\u FormClosing(object sender,FormClosingEventArgs e){u Form1.Close()}谢谢Jalal。我使用这种方法,但为什么即使我关闭form2,程序仍在运行?调试从未停止过?因为您没有按预期关闭form1,请记住我们将其隐藏。因此,请处理form2Closing
事件并关闭form1实例。私有void form2\u FormClosing(对象发送方,FormClosingEventArgs e){Form1 Form1=new Form1();Form1.Close()}不,这里您正在创建一个新的Form1
并将其关闭。您应该使用另一种解决方案:private Form1\u Form1=null;public Form2(Form1 Form1){InitializeComponents();\u Form1=Form1;}Form2\u FormClosing(对象发送方,formclosingerventargets){u form1.Close();}