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

时间:2016-04-20 16:51:06

标签: c# forms events button

所以我所拥有的基本上是这样的:

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();但由于该方法需要genreTitel。我无法达到流派音乐。 如何增加计数,并在点击按钮时重新加载Load(genreTitel)?

4 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

在你的movielist声明下声明一个字符串genreTitel(或任意你想要的名字),然后在构造函数中第一次调用Load(genreTitel)之前,执行:

this.genreTitel = genreTitel。

通过这种方式,您可以访问类的其余部分

的genreTitle变量

答案 2 :(得分:0)

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

Ergo,您尝试简单地放置Load(),使用Load(formField.Text)

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

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

答案 3 :(得分:0)

喜欢这个

//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.
}