如何在button_click上再次调用此方法

本文关键字:调用 此方法 click button | 更新日期: 2024-10-31 18:38:39

所以我基本上是这样的:

public partial class ShowList : UserControl
{
    public int count;
    private static LoadMovies lm = new LoadMovies();
    public List<Movie> movieList = lm.GetMovieList();
    public ShowList(string genreTitel)
    {
        InitializeComponent();
        ......
        ......
        Load(genreTitel)
    }
    public void Load(string genreTitel)
    {
        lm.ReadMoviesToList();
        string picturepath = Environment.CurrentDirectory + @"'Pictures" + @"'Pictures'";
        IEnumerable<Movie> genreMovieList =
        movieList.Where(m => m.MovieGenres.Contains(genreTitel) && m.MovieNumberOfRatings > 80).Take(20);
        Movie movie1 = genreMovieList.ElementAt(count);
        label29.Text = movie1.MovieName;
        pictureBox9.Image = Image.FromFile(picturepath + movie1.MovieId + ".jpg");
        label24.Text = "Rating: " + Math.Round(movie1.MovieAverageRating, 2);
    }
    private void Btn_Click(object sender, EventArgs e)
    {
        count++;
        //HERE I NEED SOME CODE TO RELOAD LOAD-METHOD.
    }

我尝试过的,只是编写 Load(); 但是由于该方法需要流派Titel。而且我无法达到流派。如何增加计数,并在单击按钮时重新加载加载(流派Titel)?

如何在button_click上再次调用此方法

将流派Titel(标题?)保存到私有变量。在构造函数中,将传入的变量分配给新的私有变量,然后您可以从Btn_Click访问它。

在你的电影列表声明下声明一个字符串 genreTitel(或随心所欲地命名),然后在构造函数中第一次调用 Load(genreTitel) 之前,请执行以下操作:

this.genreTitel = genreTitel

这样,您就有一个可供类的其余部分访问的 genreTitle 变量

假设您要从某个表单域获取genreTitel,则可以在单击事件处理程序中访问该字段。

因此,您尝试简单地放置Load()的地方,使用Load(formField.Text).

编辑:刚刚注意到ShowList(string genreTitel)是一个构造函数,而不是一个方法。

在这种情况下,实例化一个私有变量并在构造函数中为其分配genreTitel

这样做

//declare the class level variable like this
private string mgenretitle;
public ShowList(string genreTitel)
{
    // initialize the variable over here like this
    mgenretitle = genreTitel;
    InitializeComponent();
    ......
    ......
    Load(genreTitel)
}

然后在这里使用它

private void Btn_Click(object sender, EventArgs e)
{
      count++;
      // call your load method over here
      Load(mgenretitle);
      //HERE I NEED SOME CODE TO RELOAD LOAD-METHOD.
}