0

我有 2 个表单:Form1 和 Form2 Form1 使用 Application.Run() 开始运行

如果用户开始编辑 DataGridView 我在 CellBeginEdit 事件中像这样运行 Form2,则 Form1 有一个 datagridview

Form2 addStock = new Form2(productNo, stockString, this);
addStock.Activate();
addStock.Show();

Form2 完成任务后,当我单击 Form 2 上的按钮时,我希望将值返回到 Form1 并显示在 Form1 上的 DataGridView 中并关闭 Form2

我试图传递 Form1 的对象 Form2 addStock = new Form2(productNo, stockString, this );

但在 Form2 上,我无法使用该对象访问 Form1 的 DataGridview

我该怎么做才能做到这一点?

4

2 回答 2

1

我建议制作一个自定义类并制作一些静态成员,当您导航到 form2 jux 时检查它们。

class CustomClass
{

      public static int ProductNo;
      public static string StockString;
}

//这些是从form1调用form2

  CustomClasss.ProductNo=12; //some value
  CustomClass.StockString="Some Value";


   Form2 addStock = new Form2();
   addStock.Activate();
   addStock.Show();

现在以表格 2 调用这些自定义类成员并根据您的需要进行验证..

喜欢

if(CustomClass.ProductNo==2 && CustomClass.StockString=="Some String")
{
    //do something
}

希望它帮助x..

于 2013-11-10T10:52:43.037 回答
0

添加public properties到 Form2。在完成计算后,无论您在 Form2 中做什么,都将值设置为这些属性。现在,这些值可以在 From1 中使用您为显示 Form2 而创建的相同 From2 实例进行访问。

现在在 From1 中访问 Form2 的那些属性值。

Form2 addStock = new Form2(productNo, stockString, this);
addStock.Activate();
addStock.Show();

//Reading the property value of Form2
string stockValue = addStock.StockStringProperty;
于 2013-11-10T13:31:28.177 回答