2015-09-20 20 views
-1

所以我刚刚开始学习C#,并且遇到了一个错误消息,说Form5“是一个变量,但用于类型”。我已经显示了有错误的代码页,但如果你想看看更大的图片,这里是我的github回购(我是gihub的完全noob,所以如果有任何错误或完全错误,我很抱歉! :https://github.com/ValorZard/ChocobombVisual Studio认为winform是一个变量

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 

namespace animal_years 
{ 
    public partial class Form2 : Form 
    { 
     public Form2() 
     { 
      InitializeComponent(); 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      /* 
      Application.EnableVisualStyles(); 
      Application.SetCompatibleTextRenderingDefault(false); 
      Application.Run(new Form1()); 
      */ 

      Form Form1 = new Form1(); 

      Form1.Show(); 
     } 

     private void button2_Click(object sender, EventArgs e) 
     { 

      Form Form3 = new Form3(); 

      Form3.Show(); 
     } 

     private void button3_Click(object sender, EventArgs e) 
     { 
      Form Form2 = new Form2(); 

      Form2.Show(); 
     } 

     private void button4_Click(object sender, EventArgs e) 
     { 
      Form Form4 = new Form4(); 

      Form4.Show(); 
     } 

     private void button5_Click(object sender, EventArgs e) 
     { 

      Form Form5 = new Form5(); 
      Form5.Show(); 
     } 
    } 
} 
+0

你的'Form5()'的构造函数在哪里? –

+0

不要声明与声明该类相同名称的变量。 'Form5'是类名,你也是用相同的名称声明变量 –

+0

是否有一个原因,你需要命名变量的类名相同?如果你想避免使用类名作为变量名(它不能解决你的问题,但可能会揭示这个问题),它会让你的代码更易于调试。 –

回答

0

你在form5.cs文件的类名是outputDescriptionLabel所以,你必须在这里调用类的名称使用下面的代码:。

private void button5_Click(object sender, EventArgs e) 
    { 

     outputDescriptionLabel f = new outputDescriptionLabel(); 
     f.Show(); 
    } 
4

Form5“是一个变量,但用于类型“

这是完全正确的。并且清楚。您正在使用类型名称Form5(这是一个可怕的,不具名的名称)作为变量名称。一个简单的选择是编写new Form5().Show(); - 为什么你首先需要一个局部变量?

相关问题