未填充datagridview
问题描述:
我是填充datagridview当它打开第二个窗体时,显示的值不会未填充datagridview
为什么?
我的代码:
// in form1
private bool Method1()
{
using (var form2 = new frmMain())
{
form2.RaiseLoadEvent(EventArgs.Empty);
}
return (true);
}
private void frm1_Load(object sender, EventArgs e)
{
Method1();
this.DialogResult = DialogResult.Cancel;
}
//在窗口2
public void RaiseLoadEvent(EventArgs e)
{
this.OnLoad(e);
}
private void OnLoad(EventArgs e)
{
this.con = new OleDbConnection(this.ConnectionString());
string strquery = "select * from english";
this.dba = new OleDbDataAdapter(strquery, con);
this.dba.Fill(this.ds);
this.dataGridView1.DataSource = this.ds.Tables[0].DefaultView;
}
代码Program.cs中:
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
frm1 frmsp = new frm1();
if (frmsp.ShowDialog() == DialogResult.Cancel)
{
Application.Run(new frmMain());
}
}
,我写的代码是为闪屏
我想要表单加载,然后显示form2
你有什么建议吗?
我想要做这个form1。
答
Form2已处理。然后你运行一个新的Form2。
using (var form2 = new frmMain())
{
form2.RaiseLoadEvent(EventArgs.Empty);
}
...创建并填充DataGrivView,但using()会处理frmMain对象。
然后调用...
Application.Run(new frmMain());
它创建了一个全新的frmMain()。
如果您的目标是在显示启动画面时填充网格,则需要分开开发它们。启动画面会显示一段时间,因此请使用计时器显示然后处理启动画面。与此同时,启动主窗体,并在网格填充之前保持其不可见状态。
代码在那里,但事件未在您的代码中分配。这些事件是否在您的GUI中连接起来? – jp2code 2011-09-07 18:41:37