2013-05-12 166 views
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(); 
       } 
      } 
     } 
+1

你期望在「刷新」上發生什麼? – nvoigt 2013-05-12 14:45:32

+0

你可以嘗試使用'Response.Redirect(Request.Url.AbsoluteUri);' – Saravanan 2013-05-12 14:46:42

+0

@nvoigt,在刷新時,我認爲firstArticle的值將會更改爲下一個(firstArticle),因爲舊的(firstArticle).statusArticle!= false。 – 2013-05-12 14:53:14

回答

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

在你點擊按鈕的處理程序,而不是調用刷新簡單的一起ShowArticle通過調用替換在「第一條」中。上面的代碼可以清理一下,但應該做的。

+0

非常感謝!這非常有用! – 2013-05-12 15:28:56