日期:2014-05-18  浏览次数:20962 次

求各位帮帮忙。。。windowsform
我现在有两个窗口;一个作为主界面,另一个是一对话框的形式出现;

我的目的:想单击对话框那个界面的button按钮时,在主界面中显示相应的信息;

问题是:每点击一次,就会出现一个一样的主界面;请问怎么解决????
代码:form1中

  private void btnEnterInsetStep_Click(object sender, EventArgs e)
  {
  this.Close();
  Form1 f1 = new Form1();
  f1.Show();
  int index = f1.dgvRecipeEdit.Columns.Add("C", "");
  string headerText = "step" + index.ToString();
  f1.dgvRecipeEdit.Columns[index].HeaderText = headerText;
  f1.dgvRecipeEdit.Columns[index].SortMode = DataGridViewColumnSortMode.NotSortable;
  f1.dgvRecipeEdit.Columns[index].DefaultCellStyle.Font = new Font("宋体", 11F);
  f1.dgvRecipeEdit.Columns[index].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
  f1.dgvRecipeEdit.Columns[index].Width = 130;
   
  }
form2中:
  private void btnInsertRecipeStep_Click(object sender, EventArgs e)
  {
  FormInsertStep fis = new FormInsertStep();
  fis.ShowDialog();


------解决方案--------------------
传值方法参考http://www.cnblogs.com/cosoft/archive/2011/08/08/2130659.html
------解决方案--------------------
你用下单例模式应该可以解决了
------解决方案--------------------
代码:form1中

private void btnEnterInsetStep_Click(object sender, EventArgs e)
{
this.Close();
  Form1 f1 = new Form1();
f1.Show();
int index = f1.dgvRecipeEdit.Columns.Add("C", "");
string headerText = "step" + index.ToString();
f1.dgvRecipeEdit.Columns[index].HeaderText = headerText;
f1.dgvRecipeEdit.Columns[index].SortMode = DataGridViewColumnSortMode.NotSortable;
f1.dgvRecipeEdit.Columns[index].DefaultCellStyle.Font = new Font("宋体", 11F);
f1.dgvRecipeEdit.Columns[index].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
f1.dgvRecipeEdit.Columns[index].Width = 130;

}
form2中:
private void btnInsertRecipeStep_Click(object sender, EventArgs e)
{
FormInsertStep fis = new FormInsertStep();
fis.ShowDialog();

在form1,中show form1,那就只能出现form1窗体了
------解决方案--------------------
C# code
  private void btnEnterInsetStep_Click(object sender, EventArgs e)
  {
  this.Close();
  Form1 f1 =Form1.GetInstance();
  f1.Show();
......................
}




Form1 窗体中  
 
     static   Form1 form = null;

        public static   Form1  GetInstance()
        {
            if (form == null || form.IsDisposed)
            {
                form = new   Form1 ();
            }
            return form;
        }