我有两种形式:Form1和Form2 Form1开始使用Application.Run()
运行 如果用户开始编辑DataGridView,则和Form1具有datagridview 我在CellBeginEdit事件
中运行这样的Form2Form2 addStock = new Form2(productNo, stockString, this);
addStock.Activate();
addStock.Show();
Form2完成任务后,当我单击表单2上的一个按钮时,我想获取值返回到Form1并在Form1上的DataGridView中显示并关闭Form2
我试图传递Form1的对象 Form2 addStock = new Form2(productNo,stockString, this );
但是在Form2上我无法使用该对象访问Form1的DataGridview
我该怎么做才能做到这一点?
答案 0 :(得分: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
}
希望它有所帮助..
答案 1 :(得分:0)
将public properties
添加到Form2。完成计算后,无论您在Form2中执行什么操作,都要将值设置为这些属性。现在可以在From1中访问这些值,并使用您创建的相同From2实例来显示Form2。
现在在From1中访问Form2的那些属性值。
Form2 addStock = new Form2(productNo, stockString, this);
addStock.Activate();
addStock.Show();
//Reading the property value of Form2
string stockValue = addStock.StockStringProperty;