C# 加载事件不';我好像没接到电话
我试图在加载事件中初始化数组(类的数组)的元素,但它没有被调用,也看不出我做错了什么 这是我的代码:C# 加载事件不';我好像没接到电话,c#,events,C#,Events,我试图在加载事件中初始化数组(类的数组)的元素,但它没有被调用,也看不出我做错了什么 这是我的代码: namespace Coffee_Shop_Login { public partial class frmLogin : Form { public frmLogin() { InitializeComponent(); } //Global Variables s
namespace Coffee_Shop_Login
{
public partial class frmLogin : Form
{
public frmLogin()
{
InitializeComponent();
}
//Global Variables
static int Maximum_Number_Of_Logins = 1;
LoginDetails[] Employees = new LoginDetails[Maximum_Number_Of_Logins];//creating array of objects of type LoginDetails
//method initialises the array objects when form loads
private void frmLogin_Load(object sender, EventArgs e)
{
for (int i = 0; i < Employees.Length; i++)
{
Employees[i] = new LoginDetails(); // set up single element to a new instance of the object
}
}//end of frmLogin_Load()
private void btnLogin_Click(object sender, EventArgs e)
{
string username = "Johnny";
Employees[0].Set_Employee_Username(username);
MessageBox.Show("Username is: " + Employees[0].Get_Employee_Username());
}
}
}
namespace Coffee_Shop_Login
{
class LoginDetails
{
//Public Mutator Functions
//========================
public void Set_Employee_Username(string username)
{
Employee_Username = username;//sets Employee_Username with value passed in
}//end of Set_Employee_Username()
public void Set_Employee_Password(string password)
{
Employee_Password = password;//sets Employee_Password with value passed in
}//end of Set_Employee_Password()
//Public Accessor Functions
//=========================
public string Get_Employee_Username()
{
return Employee_Username;//returns the value of Employee_Username
}//end of Get_Employee_Username()
public string Get_Employee_Password()
{
return Employee_Password;//returns the value of Employee_Password
}//end of Get_Employee_Password()
//Private Member Variables
private string Employee_Username;
private string Employee_Password;
}
}
namespace Coffee\u Shop\u登录
{
公共部分类frmLogin:表单
{
公共frmLogin()
{
初始化组件();
}
//全局变量
静态int最大登录次数=1;
LoginDetails[]Employees=new LoginDetails[最大登录次数];//创建LoginDetails类型的对象数组
//方法在窗体加载时初始化数组对象
私有void frmLogin_加载(对象发送方,事件参数e)
{
for(int i=0;i
运行应用程序时,由于未调用加载事件,我收到以下错误消息:
Coffee Shop Login.exe中发生类型为“System.NullReferenceException”的未处理异常
其他信息:对象引用未设置为对象的实例
我需要添加什么才能使加载事件调用我的方法?尝试在表单构造函数中实例化数组,而不是在类中的任何地方,如下所示:
public frmLogin()
{
InitializeComponent();
Employees = new LoginDetails[Maximum_Number_Of_Logins];
}
你能告诉我你是哪一行出错的吗?除了在C#中编写类似Java的代码的拙劣风格之外,我找不到任何原因说明您的代码不能工作,因为它对我来说运行良好。错误可能在其他地方。这样说来,认真考虑学习C语言及其基本知识,首先要了解属性和相关约定。我只能看到,该方法<代码> FrLogiNyLoad 没有注册到事件中,当单击ButtoAlxANDRE时,它创建了一个NRE。我同意问题出在我的加载事件上,但我相信我已经遵循了正确的格式,并且名称正确,因此无法理解为什么它不会运行。感谢Karim,它现在正在工作。但是,我不明白为什么我的加载事件不会执行。语言规范禁止在类级别执行任意语句。。有关更多信息,请参阅此