C# 单击按钮后刷新表单
我得到了表articles where column(statusArticle=false)的第一个元素。问题是,我想在单击按钮后刷新表单,以便与下一个元素交互,但表单没有刷新,我尝试了几个代码,其中一个是application.restart,这太重了!如何在boutton click刷新表单而不重新启动应用程序C# 单击按钮后刷新表单,c#,sql,winforms,ado.net,C#,Sql,Winforms,Ado.net,我得到了表articles where column(statusArticle=false)的第一个元素。问题是,我想在单击按钮后刷新表单,以便与下一个元素交互,但表单没有刷新,我尝试了几个代码,其中一个是application.restart,这太重了!如何在boutton click刷新表单而不重新启动应用程序 private void button_Click(object sender, EventArgs e) { using (DbEn
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();
}
}
}
在类中创建以下内容:
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 simple,将其替换为调用ShowArticle并传入“firstArticle”。上面的代码可以稍微清理一下,但应该可以。在“刷新”时会发生什么?可以尝试使用“Response.Redirect(Request.Url.AbsoluteUri);”@nvoigt,在刷新时,我希望firstArticle的值将更改为下一个(firstArticle),因为旧的(firstArticle)。statusArticle=错误。您可能编写代码来显示表单上的第一篇文章。也许您可以再次调用它?Form类上的Refresh方法会使客户端区域无效,并强制重新绘制表单,并且不会重新填充控件的属性。您应该创建一个方法,该方法将接受第一篇文章并填充表单控件,然后调用该方法而不是“this.Refresh()”。非常感谢!那很有用!