怎样将Form1中Edit1的值传给Form2中的Edit1.
我是这么写的Form2.Edit1.Text:=Form1.Edit1.Text;
但是只能得到其原始值,当Form1.Edit1的值改变时,Form2.Edit1
中的值不跟着变,还是显示原来的值!

解决方案 »

  1.   

    在Form1.Edit1的OnChange事件中加入:Form2.Edit1.Text:=Form1.Edit1.Text;
      

  2.   

    form2.Edit1.Text := form1.Edit1.Text;
    form2.Visible := True;
      

  3.   

    发送消息
    procedure TForm1.Edit1Change(Sender: TObject);
    begin
         SendMessage(form2.Edit1.Handle, WM_SETTEXT, 0, integer(pchar(edit1.text)))
    end;
      

  4.   

    对于Form1.Edit1的OnChange事件,使用Form2.Edit1.Text:=Form1.Edit1.Text;这样就可以了
      

  5.   

    同意在form1.edit1的OnChange事件中添加Form2.Edit1.Text:=Form1.Edit1.Text;!
      

  6.   

    我的Form2中有个ADOQuery控件,ADOQuery.SQL.Text:='select * from Table where Cloumn='''+Form1.Edit1.Text+'''',也是只能得到其原始值,得不到重新写入的值.
      

  7.   

    在Form1.Edit1的OnChange事件中加入:Form2.Edit1.Text:=Form1.Edit1.Text;
    这样可以解决你的问题ADOQuery.SQL.Text:='select * from Table where Cloumn='''+Form1.Edit1.Text+''''这里的参数Form1.Edit1.Text是动态的传入的你的Form1.Edit1.Text改变了之后,再次调用adoquery的时候就会发生变化了。如果不行那就是你用完了之后忘记关闭了adoquery。
      

  8.   

    with adoquery do
     begin
      close;
      sql.clear;
      sql.add('写入你的sql语句');
      open;
    end;
    每次套用该格式就可以了
    --关于传值问题
    如果你的form2是临时创建的,那么在form2创建后,再修改edit1的(from2的)值才有效,否则form2的值永远是初始值。不过,我想最合适你的是现在声明一个公共变量。
      

  9.   

    I 服了 you!
    难为死现在的大学生了
      

  10.   

    我喜欢这样,哈哈
    procedure TForm1.Edit1Change(Sender: TObject);
    begin
      Form2.Edit1.Text := @Form1.Edit1.Text; //告诉你们老师这叫效率!
    end;
      

  11.   

    都什么年代了?如果每一个Delphi coder都这样form1.vclvalue:=form2.vclvalue,Borland真是失败啊?Delphi的OO功能也是很强的!!推荐楼主看看刘艺 李维的书,好好看,你要是真的这样毕业了,至少在Delphi方面找工作难啊。逆耳忠言!楼主好好斟酌吧。
      

  12.   

    楼上说的好但是我们老师也很牛我认为主要是学生不努力应该这样写
    procedure TForm1.Edit1Change(Sender: TObject);
    begin
      Form2.Edit1.Text := @Form1.Edit1.Text; //告诉你,这叫效率!
    end;
      

  13.   

    还有啊,在Delphi里面,尽量用属性,不要全局变量!!我一看到应聘人员在interface里面搞全局变量,基本上就不会让他来复试了!!!Delphi用的好的话,windows平台开发软件还是相当不错的。Foxmail Gel system commander 等等都是Delphi做的。
      

  14.   

    从一个form传值到另外一个form上,用类跟form的属性操作是很基础的东西了。如果还form1 form2的,那edit1改名了,或者form继承 怎么办???好好学数学 好好学计算机 好好学英语啊
      

  15.   

    我是来学习的
    小声问一下那个效率高的写法,为什么我的机器上编译不通过啊?
    俺倒觉得
    Form2.Edit1.Text := Form1.Edit1.Text; 
    这么写效率也挺高的……
    不知道谁能给俺讲一下@
      

  16.   

    同意 yangliu(逍遥游)
    不过这个问题也太..
      

  17.   

    哎,如果每个刚用delphi写程序的人来问个菜点的问题都要被你们数落一番的话
    那就真成问题了
      

  18.   

    引用:xiehui3651
    哎,如果每个刚用delphi写程序的人来问个菜点的问题都要被你们数落一番的话
    那就真成问题了你的话中听.....现在有些人这就样.....初学者也不容易....
      

  19.   

    同意
    发送消息
    procedure TForm1.Edit1Change(Sender: TObject);
    begin
         SendMessage(form2.Edit1.Handle, WM_SETTEXT, 0, integer(pchar(edit1.text)))
    end;
      

  20.   

    声明一个全局变量
    public
     string i;
    i:=form1.edit1.text;
    这样调用i方便多了。
      

  21.   

    发送消息
    procedure TForm1.Edit1Change(Sender: TObject);
    begin
         SendMessage(form2.Edit1.Handle, WM_SETTEXT, 0, integer(pchar(edit1.text)))
    end;
    这个比较安逸