ListViewからアイテムを選択し、ボタンを押してアイテムを削除することでアイテムをリストから削除したいと考えています。このボタンは、実際のリストとリストビューの両方から削除します。私が現在持っているものは、リストビューから項目を削除しますが、実際のムービーリストリストからムービーオブジェクトを削除しません。 ListはMovieRentalSys(movieSystem.movieList)と呼ばれる別のクラスにあります。 WinFormsの使用。実際のリストから選択したListViewアイテムを削除する
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を無限に簡単に使用できます。 – Plutonix