所以我在FormOne中有这个:
private void input_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData.Equals(Keys.Enter))
{
x = 5;
string customStreamer = textBox1.Text;
Form2 twitchTV = new Form2(this);
twitchTV.Show();
}
}
,这在FormTwo中:
switch (formOne.x)
{
case 5:
axShockwaveFlash1.Movie = "http://www-cdn.jtvnw.net/widgets/live_facebook_embed_player.swf?channel=" + formOne.customStreamer;
break;
}
但是当我调试程序并输入流媒体用户名并按Enter键时,Form2无法打开。我尝试添加断点,似乎它甚至没有达到input_KeyDown方法。有什么问题,我将如何做到这一点?谢谢!
答案 0 :(得分:1)
首先想到的是input_KeyDown方法没有连接到你按Enter键的文本框。特别是因为你的断点没有被击中。否则你的代码看起来会起作用,并且在我做的快速测试项目中,确实有效。因此,请检查以确保您的文本框具有input_KeyDown的KeyDown事件处理程序。
答案 1 :(得分:0)
customStreamer被声明为本地范围内的变量,而不是在formOne类中,在事件处理程序执行完毕后需要从外部引用它。
此外,您需要使用您传入的参数指定一个名为“formOne”的Form1变量,我确信您正在这样做,但只是确定。
最后,确保已通过设计器或初始化代码将EventHandler正确连接到正确的文本框。
答案 2 :(得分:0)
在input_KeyDown事件中,您将customStreamer声明为变量。 删除字符串数据类型声明,它应该工作。 像这样:
private void input_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData.Equals(Keys.Enter))
{
x = 5;
customStreamer = textBox1.Text;
Form2 twitchTV = new Form2(this);
twitchTV.Show();
label1.Text = customStreamer;
}
}