子窗体关闭时如何刷新datagridview?我的主窗体上有一个dgv,带有一个按钮,可以打开另一个窗体以将一些数据插入到绑定到dgv的数据源中。我希望dgv在子窗体关闭时自动刷新。我试图在子表单关闭事件中添加它,但它没有刷新:frmm.itemCategoryBindingSource.EndEdit();frmm.itemsTableAdapter.Fill(myDatabaseDataSet.Items);frmm.dataGridView1.Refresh();但是,当我在父窗体的按钮中添加此代码时,它实际上解决了问题:this.itemCategoryBindingSource.EndEdit();this.itemsTableAdapter.Fill(myDatabaseDataSet.Items);this.dataGridView1.Refresh();有很多方法可以做到这一点,但以下是最简单的方法,可以满足您的需求并让您入门。publicpartialclassForm1inForm1:Form{publicForm1(){//'添加标签和按钮形成InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){Form2oForm=newForm2(this);oForm.Show();}publicvoidPerformRefresh(){this.label1.Text=DateTime.Now.ToLongTimeString();}}Form2publicclassForm2:Form{Form1_owner;公共Form2(Form1所有者){_owner=所有者;this.FormClosing+=newSystem.Windows.Forms.FormClosingEventHandler(this.Form2_FormClosing);}privatevoidForm2_FormClosing(objectsender,FormClosingEventArgse){_owner.PerformRefresh();您正在创建主窗体的新实例,这不会影响实际的主窗体实例。您需要做的是,像您在单击按钮时所说的那样调用主窗体上的代码:this.itemsTableAdapter.Fill(myDatabaseDataSet.Items);this.dataGridView1.Refresh();我们也可以这样做:我们有form_1和form_2在form_1中,创建一个公共方法。在这个公共方法中,我们放我们的东西;在form_2中,我们创建一个全局表单变量;仍在form_2中,通过form_2构造函数将form_1传递给form_2;仍然在form_2中,让你的全局变量(我们在步骤2中创建的变量)接收我们在form_2构造函数中创建的新form_1实例;在closing_event方法中,我们调用包含我们内容的方法。我们的东西的方法是填充我们的form1列表、dataGridView、comboBox或任何我们想要的东西。Form_1:publicfillComboBox()//Step1.这是你在Form1中的方法{foreach(varitemincollectionmyInfo){myComboBox.Items.Add(item)}}Form_2:Form1instanceForm1;//Step2publicForm2(Form1theTransporter)//第3步。这是Form2的构造函数。{初始化组件();instanceForm1=theTransporter;//Step4}privatevoidForm2_FormClosing(objectsender,FormClosingEventArgse){instanceForm1.fillComboBox();//Step5我们调用方法来执行更新form1的任务}我希望它有帮助...很好在那里回答!另一种方法是:检查您要更新的表单是否打开。调用方法刷新gridVieW。**确保在form1refreshMethod()里面设置datasource为null**以上是C#学习教程:子窗体关闭时如何刷新datagridview?如果分享的内容对你有用,需要了解更多C#学习教程,希望你多多关注——if(System.Windows.Forms.Application.OpenForms["Form1"]!=null){(System.Windows.Forms.Application.OpenForms["Form1"]asForm1).refreshGridView("");}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
