0

我正在获取表格文章的第一个元素,其中列(statusArticle = false)。问题是我想在单击按钮后刷新表单,以便我可以与下一个元素交互,但表单没有刷新,我试过了除了很重的 application.restart 之外的几个代码!如何在不重新启动应用程序的情况下在按钮单击时刷新表单?

   private void button_Click(object sender, EventArgs e)
        {
            using (DbEntities db = new DbEntities())
            {
               Articles firstArticle = db.Articles.FirstOrDefault(u => u.statusArticle == false);
                if (firstArticle != null)
                {
                    firstArticle.statusArticle = true;
                    db.SaveChanges();
                    MessageBox.Show("Article validated", "OK");
                    this.Refresh();
                }
            }
        }
4

1 回答 1

1

在您的班级中创建以下内容:

private void ShowArticle(Article article)
{
  /* The code currently in your constructor for displaying the 
     first article goes here */
}

对于您的构造函数:

public MyForm()
{
  using(DbEntities db = new DbEntities())
  {
    Articles firstArticle = db.Articles.FirstOrDefault(u => u.statusArticle == false);
    if( firstArticle != null ) ShowArticle( firstArticle );
  }
}

在您的按钮单击处理程序中,而不是简单地调用 Refresh 将其替换为对 ShowArticle 的调用,并传入“firstArticle”。上面的代码可以稍微清理一下,但应该可以。

于 2013-05-12T15:12:26.507 回答