在Insert Into ArrayList按钮的click事件处理程序中,检查用户是否具有:在Position文本框中输入一个位置。在“演员姓名”文本框中输入演员姓名。
检查这些文本框以查看用户是否输入了值。如果用户输入的值不正确,只要他们输入了值,请不要担心。如果未输入任何文本,则以消息框格式显示相关的错误消息并退出方法,因此不会进行进一步处理。
通过调用InsertIntoArrayList来执行此操作,传递这些值并导致将新值插入ArrayList。
最后,调用PopulateActors来更新其项目以反映更改。
到目前为止我的代码没有插入数组:
private void btnInsert_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(txtPosition.Text))
{
MessageBox.Show("Please enter a Position");
return;
}
if (string.IsNullOrEmpty(txtActorName.Text))
{
MessageBox.Show("Please enter an Actor Name");
return;
}
InsertIntoArrayList(txtActorName.Text, Position);
PopulateActors();
}
使用的方法是:
void InsertIntoArrayList(string txtActorName, int txtPosition)
{
ArrayList ActorArrayList = new ArrayList();
ActorArrayList.Insert(txtActorName, txtPosition);
}
和
void PopulateActors()
{
cboActor.Items.Clear();
foreach (string Actor in ActorArrayList)
{
cboActor.Items.Add(Actor);
}
}
新手编码器!
为你的帮助干杯:)
答案 0 :(得分:1)
你的问题在这里:
void InsertIntoArrayList(string txtActorName, int txtPosition)
{
ArrayList ActorArrayList = new ArrayList();
ActorArrayList.Insert(txtActorName, txtPosition);
}
每次调用此函数时,您都会创建一个新的ArrayList并在其中插入一些内容。但是,这个ArrayList随后会从内存中释放,因为功能块已经完成。
您需要在班级中添加实例成员并在那里插入数据。 您可以在课程顶部添加类似的内容:
private ArrayList ActorArrayList = new ArrayList();
同样Insert
期望Int
作为其第一个参数,因此您可能希望切换这两个参数。