没有给出对应于所需参数的参数

时间:2017-02-19 09:36:09

标签: c# winforms

主要表单代码:

using System.Threading.Tasks;
using System.Windows.Forms;

    namespace WFA_KONSPEKT_02
    {
        public partial class ET_Main : Form
        {
          public ET_Main(string permissions) //The program has an authenticator which uses "Permissions"
            {
                InitializeComponent();
                Status.Text = permissions;
            }
        }
    }

Program.cs代码:

Using System.Windows.Forms;

namespace WFA_KONSPEKT_02
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            form1 = new ET_Main(); 
            Application.Run(form1);
        }

        private static Form1 form1;

        public static Form1 MainForm
        {
            get { return form1; }
        }
    }
}

错误发生在&#34; form1 = new ET_Main(); &#34;在program.cs中它说:&#34;没有任何参数对应于所需的形式参数&#39;权限&#39; &#39; ET_Main.ET_Main(字符串)&#39;&#34;

我已经完成了所有正式的#34;没有给出任何论据&#34; - 没有运气,我似乎无法找到任何解决办法。

2 个答案:

答案 0 :(得分:1)

用下面的代码替换代码

 public ET_Main(string permissions="") //The program has an authenticator which uses "Permissions"
            {
                InitializeComponent();
                Status.Text = permissions;
            }

答案 1 :(得分:1)

您的public ET_Main(string permissions)构造函数需要一个名为permissions的参数,即string。这就是为什么你不能在没有参数form1 = new ET_Main();的情况下调用它的原因 你要么必须创建另一个不需要参数的构造函数,给它一个默认值,就像Joji在另一个答案中所做的那样,或者在调用方法时传递字符串。

form1 = new ET_Main("some permissions");