System.NullReferenceException 将变量传递给另一个变量时 class/form
System.NullReferenceException When passing a variable to another class/form
我正忙于一个涉及 2 Windows 窗体的 C# 项目。
该程序要求用户在文本栏中输入主题,然后用户从 3 个网站中进行选择以搜索并显示视频。
这是第一种形式的代码,
private void btnSearch_Click(object sender, EventArgs e)
{
//Assign Search
Search = SearchBox.Text;
//Assign Website
if (rb1YouTube.Checked)
{
WebSite = 1;
}
else if (rb2MetaCafe.Checked)
{
WebSite = 2;
}
else if (rb3Yahoo.Checked)
{
WebSite = 3;
}
//Assign Category
Category = " - " + cbCategory.Text;
//Input Validation
if (Search == "" || Category == " - " || WebSite == 0)
{
System.Windows.Forms.MessageBox.Show("All fields require values");
}
else
{
//Declare class and pass variables
Results RF = new Results(Search, WebSite, Category);
RF.Show();
}
}
这是第二个代码。
public Results(String Search, int WebSite, String Category)
{
try
{
switch (WebSite)
{
case 1: webBrowser1.Navigate("https://www.youtube.com/");
break;
case 2: webBrowser1.Navigate("http://www.metacafe.com/");
break;
case 3: webBrowser1.Navigate("https://screen.yahoo.com/");
break;
}
}
catch(Exception E)
{
MessageBox.Show(" " + E);
}
InitializeComponent();
}
在 运行 通过 switch/case 之后将值传递到新表单时发生错误。
我已经调试了程序并在 public Results(String Search, int WebSite, String Category)
行上设置了一个断点,我已确保正在发送和接收值。
在切换之前移动 InitializeComponent()
方法调用。我想 webBrowser1
还没有初始化,当你调用它的 Navigate(...)
方法时它的值是 null
。
我正忙于一个涉及 2 Windows 窗体的 C# 项目。 该程序要求用户在文本栏中输入主题,然后用户从 3 个网站中进行选择以搜索并显示视频。
这是第一种形式的代码,
private void btnSearch_Click(object sender, EventArgs e)
{
//Assign Search
Search = SearchBox.Text;
//Assign Website
if (rb1YouTube.Checked)
{
WebSite = 1;
}
else if (rb2MetaCafe.Checked)
{
WebSite = 2;
}
else if (rb3Yahoo.Checked)
{
WebSite = 3;
}
//Assign Category
Category = " - " + cbCategory.Text;
//Input Validation
if (Search == "" || Category == " - " || WebSite == 0)
{
System.Windows.Forms.MessageBox.Show("All fields require values");
}
else
{
//Declare class and pass variables
Results RF = new Results(Search, WebSite, Category);
RF.Show();
}
}
这是第二个代码。
public Results(String Search, int WebSite, String Category)
{
try
{
switch (WebSite)
{
case 1: webBrowser1.Navigate("https://www.youtube.com/");
break;
case 2: webBrowser1.Navigate("http://www.metacafe.com/");
break;
case 3: webBrowser1.Navigate("https://screen.yahoo.com/");
break;
}
}
catch(Exception E)
{
MessageBox.Show(" " + E);
}
InitializeComponent();
}
在 运行 通过 switch/case 之后将值传递到新表单时发生错误。
我已经调试了程序并在 public Results(String Search, int WebSite, String Category)
行上设置了一个断点,我已确保正在发送和接收值。
在切换之前移动 InitializeComponent()
方法调用。我想 webBrowser1
还没有初始化,当你调用它的 Navigate(...)
方法时它的值是 null
。