C# 如何刷新表单以填充数据库更改,比.Hide/.Show更平滑?

C# 如何刷新表单以填充数据库更改,比.Hide/.Show更平滑?,c#,sql-server,winforms,C#,Sql Server,Winforms,我有一个组合框,可以在表单完全刷新时显示更改,但新的组合框最终会更改位置,并不像您预期的那样是一个平滑的过渡。当我更新文本框中的信息并使用“保存”按钮时,我希望清除表单,并使用保存在数据库中的新数据填充组合框。这是我现在的代码,但不是我喜欢的方式 finally { con.Close(); frmBooks mainForm = new frmBooks(); m

我有一个组合框,可以在表单完全刷新时显示更改,但新的组合框最终会更改位置,并不像您预期的那样是一个平滑的过渡。当我更新文本框中的信息并使用“保存”按钮时,我希望清除表单,并使用保存在数据库中的新数据填充组合框。这是我现在的代码,但不是我喜欢的方式

      finally
            {
                con.Close();
                frmBooks mainForm = new frmBooks();
                mainForm.Show();
                this.Hide();
            }
将位置锁定到同一位置的.Show()或使用.Refresh()似乎非常简单,但我无法使其正常工作。我正在使用VS2010

 frmBooks mainForm = new frmBooks();  
 mainForm.Show(); --- > Show new Form and 
 this.Hide(); --> Hide Current open form
也许您可以将您的组合框加载和清除字段放在一个方法上,并在事件的任何地方调用它

pivate void refreshForm()
{

 //you dsource
 cmbox.DataSource = youredsource
 cmbox.DisplayMember = "YouTableColumn";

 textbox.text = string.Empty()
 //anything you want to clear

}
大概是这样的:

     finally
        {
            con.Close();
           //refresh combo box and clear fields on form
           refreshForm();
        }
问候