在form2中定义:
form1 f =new form1;
f.公有变量=需要修改的内容;

解决方案 »

  1.   

    在form2中定义:
    form1 f =new form1;
    f.公有变量=需要修改的内容;
    这改变的并不是原来窗体的值了。
      

  2.   

    http://blog.csdn.net/zhzuo/archive/2004/04/05/22027.aspx
      

  3.   

    在form2中定义:
    form1 f =new form1;
    f.公有变量=需要修改的内容;
    这改变的并不是原来窗体的值了。
      这样可以,我试过了,建议楼主细心一点尝试
      

  4.   

    通过修FROM2的构造函数,并传一个引用类型的参数即可.
      

  5.   

    通过修FROM2的构造函数,并传一个引用类型的参数即可.
    我想在关闭FRom2时才修改参数怎么办?
      

  6.   

    可以是void Form1_Activated(object sender, EventArgs e)函数  也就是窗体的Activated事件 (当使用代码或者用户被激活窗体时发生)
      

  7.   

    还可以使用系统的API函数将下面两断代码各自编译成Form1.exe和Form2.exe文件   试一试 我也从网上看到的  在此谢过提供此代码的大侠了 呵呵
    using System;
    using System.Drawing;
    using System.Collections;
    using System.ComponentModel;
    using System.Windows.Forms;public class Form1 : System.Windows.Forms.Form {
     private System.Windows.Forms.Button button1;
     private System.Windows.Forms.TextBox textBox1; private System.ComponentModel.Container components = null; [STAThread]
     static void Main() {
      Application.Run(new Form1());
     } public Form1()
     {
      InitializeComponent();
     }
     protected override void Dispose( bool disposing )
     {
      if( disposing )
      {
       if(components != null)
       {
        components.Dispose();
       }
      }
      base.Dispose( disposing );
     } #region Windows 窗体设计器生成的代码
     private void InitializeComponent()
     {
      this.button1 = new System.Windows.Forms.Button();
      this.textBox1 = new System.Windows.Forms.TextBox();
      this.SuspendLayout();
      // 
      // button1
      // 
      this.button1.Location = new System.Drawing.Point(32, 24);
      this.button1.Name = "button1";
      this.button1.TabIndex = 0;
      this.button1.Text = "button1";
      this.button1.Click += new System.EventHandler(this.button1_Click);
      // 
      // textBox1
      // 
      this.textBox1.Location = new System.Drawing.Point(32, 64);
      this.textBox1.Name = "textBox1";
      this.textBox1.TabIndex = 1;
      this.textBox1.Text = "textBox1";
      // 
      // Form1
      // 
      this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
      this.ClientSize = new System.Drawing.Size(292, 266);
      this.Controls.Add(this.textBox1);
      this.Controls.Add(this.button1);
      this.Name = "Form1";
      this.Text = "Form1";  
      this.ResumeLayout(false); }
     #endregion private void button1_Click(object sender, System.EventArgs e) {
      MessageBox.Show("This is button1 click!");
     }
    }
    using System;
    using System.Text;
    using System.Drawing;
    using System.Collections;
    using System.ComponentModel;
    using System.Windows.Forms;
    using System.Runtime.InteropServices; public class TestForm1 : System.Windows.Forms.Form {
     private System.Windows.Forms.Button button1;
     private System.Windows.Forms.Button button2; private System.ComponentModel.Container components = null; [STAThread]
     static void Main() {
      Application.Run(new TestForm1());
     } public TestForm1()
     {
      InitializeComponent();
     }
     protected override void Dispose( bool disposing )
     {
      if( disposing )
      {
       if(components != null)
       {
        components.Dispose();
       }
      }
      base.Dispose( disposing );
     } #region Windows 窗体设计器生成的代码
     private void InitializeComponent()
     {
      this.button1 = new System.Windows.Forms.Button();
      this.button2 = new System.Windows.Forms.Button();
      this.SuspendLayout();
      // 
      // button1
      // 
      this.button1.Location = new System.Drawing.Point(32, 24);
      this.button1.Name = "button1";
      this.button1.TabIndex = 0;
      this.button1.Text = "button1";
      this.button1.Click += new System.EventHandler(this.button1_Click);
      // 
      // button2
      // 
      this.button2.Location = new System.Drawing.Point(32, 64);
      this.button2.Name = "button2";
      this.button2.TabIndex = 0;
      this.button2.Text = "button2";
      this.button2.Click += new System.EventHandler(this.button2_Click);
      // 
      // TestForm1
      // 
      this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
      this.ClientSize = new System.Drawing.Size(292, 266);
      this.Controls.Add(this.button1);
      this.Controls.Add(this.button2);  
      this.Name = "TestForm1";
      this.Text = "TestForm1";  
      this.ResumeLayout(false); }
     #endregion private void button1_Click(object sender, System.EventArgs e) {
      IntPtr hwnd_win ;   
      IntPtr hwnd_button ;  hwnd_win = FindWindow("WindowsForms10.Window.8.app3","Form1");
      hwnd_button = FindWindowEx(hwnd_win ,new IntPtr(0) ,"WindowsForms10.BUTTON.app3","button1");    const int BM_CLICK = 0x00F5;
      Message msg = Message.Create(hwnd_button ,BM_CLICK ,new IntPtr(0),new IntPtr(0));
      PostMessage(msg.HWnd ,msg.Msg ,msg.WParam ,msg.LParam); 
     }
     private void button2_Click(object sender, System.EventArgs e) {
      const int WM_CHAR = 0x0102;
      IntPtr hwnd_win ;
      IntPtr hwnd_textbox ;  hwnd_win = FindWindow("WindowsForms10.Window.8.app3","Form1");   
      hwnd_textbox = FindWindowEx(hwnd_win ,new IntPtr(0) ,"WindowsForms10.EDIT.app3","textBox1");     
      
      string strtext = "测试aaa";
      UnicodeEncoding encode = new UnicodeEncoding();
      char[] chars = encode.GetChars(encode.GetBytes(strtext));
      Message msg ;
      foreach (char c in chars ) {
       msg = Message.Create(hwnd_textbox ,WM_CHAR ,new IntPtr(c),new IntPtr(0));
       PostMessage(msg.HWnd ,msg.Msg ,msg.WParam ,msg.LParam); 
      }
     } [DllImport("user32.dll")]
     public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
     
     [DllImport("user32.dll")]
     public static extern IntPtr FindWindowEx(IntPtr hwndParent,IntPtr hwndChildAfter,string lpszClass,string lpszWindow); [DllImport("user32.dll",CharSet=CharSet.Unicode)]  
     public static extern IntPtr PostMessage(IntPtr hwnd,int wMsg,IntPtr wParam,IntPtr lParam);
    }