单击按钮后刷新表单

时间:2013-05-12 14:42:29

标签: c# sql winforms ado.net

我正在获取表格文章的第一个元素列(statusArticle = false)。问题是我想在按钮单击后刷新表单,这样我就可以与下一个元素进行交互,但表单没有刷新,我尝试了几个代码exept的那个重的app.restart!如何在不重启应用程序的情况下刷新boutton点击表单?

   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();
                }
            }
        }

1 个答案:

答案 0 :(得分: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”。上面的代码可以稍微清理一下,但应该这样做。