两个窗体之间如何传递值?比如点击窗体form1中的按钮1时form2.show,在form2.show中如何取得值?

解决方案 »

  1.   


    在form2中使用form1,就可以用form1.var得到form1中的变量值了。
      

  2.   

    举个例子吧!我这样申明在第一个窗口中赋值,在第二个窗口中显示时值没有了,为什么?
     public
      xx:string;  { Public declarations }
      end;
      

  3.   

    直接在form2里写
    form1.enabled:=false;
      

  4.   

    form1.showmodal;是什么意思?
      

  5.   

    最好不要声明全局变量,不要在一个窗体中直接去操作另一个窗体的属性,通过给窗口类Public 中定义方法,Published中定义属性的方式实现。例如你要在Form1中打开Form2,可以这样写procedure TForm1.Button1Click(Sender: TObject);
    var
      Form2:TForm2;
    begin
      Form2:=TForm2.Create(Owner ); //Form2以从自动创建中删除
      //在这可以给Form2的属性赋值,调用Form2的方法。
      Form2.Show;
    end;
      

  6.   

    定义全局是违背OOP编程思想的。 你的问题很简单,不过你问的太不清楚发源码过来。[email protected]记住在错的地方加注释。
      

  7.   

    FORM1:procedure Form1.FormCreate(sender:TObject);
    begin
      Form1.xx:='Hello';
      Form2.Show;
    end;FORM2:
    uses Form1Unit;procedure Form2.FormShow(sender:TObject);
    begin
      ShowMessage(Form1.xx);
    end;