【发布时间】:2016-07-12 14:27:13
【问题描述】:
我希望能够通过从 ListView 中选择一个项目并点击一个按钮来删除它来从 List 中删除它。此按钮会将其从实际列表和列表视图中删除。我目前拥有的内容从 Listview 中删除了该项目,但没有从实际的 movieList 列表中删除 Movie 对象。该列表位于另一个名为 MovieRentalSys (movieSystem.movieList) 的类中。使用 WinForms。
partial class MovieRentalSys
{
public List<Movie> movieList;
public List<Movie> reservedMovieList;
Movie movie;
public MovieRentalSys()
{
movieList = new List<Movie>();
reservedMovieList = new List<Movie>();
}
//Will take movie form text as arguments to create new movie in list
public List<Movie> AddMovie(string newMovie, string newGenre, string newActor, string newYear)
{
movie = new Movie(newMovie, newGenre, newActor, newYear);
movieList.Add(movie);
return movieList;
}
public List<Movie> DeleteMovie(Movie movie)
{
//needs to be made
}
public List<Movie> ReserveMovie(Movie movie)
{
movieList.Remove(movie);
reservedMovieList.Add(movie);
return reservedMovieList;
}
}
public partial class frmMovie : Form
{
MovieRentalSys movieSystem = new MovieRentalSys();
public frmMovie()
{
InitializeComponent();
}
private void btnMovieBack_Click(object sender, EventArgs e)
{
this.Close();
}
private void btnAddMovie_Click(object sender, EventArgs e)
{
movieSystem.AddMovie(txtTitle.Text, txtGenre.Text, txtActor.Text, txtYear.Text);
movieSystem.WriteMovieListToFile();
ListViewItem movie = new ListViewItem(txtTitle.Text);
movie.SubItems.Add(txtGenre.Text);
movie.SubItems.Add(txtActor.Text);
movie.SubItems.Add(txtYear.Text);
lstMovies.Items.Add(movie);
}
private void btnDeleteMovie_Click(object sender, EventArgs e)
{
lstMovies.Items.Remove(lstMovies.Items[0]);
//need method to remove movie from actual movieList
}
}
有人知道如何使用方法,特别是可以在此按钮中调用的方法吗?
【问题讨论】:
-
使用绑定到列表的 DataGridView 非常容易。