首先,我个人认为你的思路可能可以改变一下,你并不需要Form1来控制Form2上的事件,而让Form2自己来处理。这也正是面向对象编程的精髓所在。
如果这样,你可以在Form2中实现DoubleClick事件,这是很简单的。因为Form本身就提出了事件可编写。另外在Form2中定义一个公共属性,在事件处理函数中,记录因为事件而带来的改变。那么在Form2返回时,就可以调用该属性。代码实现,我想在Form2写事件是很简单的,不需要写出。
以下写出调用Form的处理过程。
如果这样,你可以在Form2中实现DoubleClick事件,这是很简单的。因为Form本身就提出了事件可编写。另外在Form2中定义一个公共属性,在事件处理函数中,记录因为事件而带来的改变。那么在Form2返回时,就可以调用该属性。代码实现,我想在Form2写事件是很简单的,不需要写出。
以下写出调用Form的处理过程。
private void button1_Click(object sender, System.EventArgs e)
{
Form form2 = new Form();
form2.Text = "xiammy";
if (form2.ShowDialog(this).Equals(DialogResult.OK))
{
this.Text = form2.Text;
};
}Good Luck!
你在Form1中定义一个静态变量 public static string bianliang=""; 然后在Form2的双击事件中加上 Form1.bianliang="哈哈哈"; this.close();就行了
将form2中的变量设置为public
打开form2时将form1传递给form2
或者声明为静态的
private static string property;
public static string Property
{
set
{
property = value;
}
}在Form2的双击事件里做如下处理:
frmLogin.Property = "After DoubleClick";
this.Close();
这样,Form1中的静态变量property就赋值成功了!你可以用一个MessageBox来验证一下。