电竞比分网-中国电竞赛事及体育赛事平台

分享

表單調(diào)用問題。

 悟靜 2009-06-16
 vfp程序界面中,在父窗口點擊一個按鈕到子窗口,子窗口可輸入關鍵字,  
  如何使主窗口某按鈕觸發(fā)事件時,引用父窗口里的控件,直接用父窗口控件名稱好象不可以的,請高手指點  
   
  *-------------------------------------------------------------------------------------  
   
  用父窗口(表單)的文件名.  
   
  如你的父窗口(表單)文件名為FormF.scx,Name為Form1,  
  那么在子窗口(表單)調(diào)用:FormF.Text1.value='123',而不用父窗口(表單)的NAME值。  
   
   
  舉個例子:  
   
  表單1的文件名為   FORM_1.SCX  
  表單1的NAME值為   FORM1  
   
  表單2的文件名為   FORM_2.SCX  
  表單2的NAME值為   FORM2  
   
  當表單1和表單2都在運行時,在表單1修改表單2的屬性的最簡單方法:  
  如:  
  FORM_2.CAPTION='修改成功!'  
  而不是  
  FORM2.CAPTION='修改成功!'  
   
  同理:  
  當表單1和表單2都在運行時,在表單2修改表單1的屬性的最簡單方法:  
  如:  
  FORM_1.CAPTION='修改成功!'  
  而不是  
  FORM1.CAPTION='修改成功!'  
   
  --------------------------------------------  
   
  可以在父窗口初始化(Init)時定義一個全局變量:  
  Public   goParent  
  goParent   =   THIS  
  這樣不管在什么地方,都可以用類似這樣的代碼來引用該窗口里的控件:goParent.Command1.Caption   =   ""   。  
   
  也可以把父窗口作為一個參數(shù)傳遞給子窗口,然后在子窗口中引用。  
  父窗口這樣調(diào)用子窗口:DO   FORM   FORM1   WITH   THIS  
  然后在子窗口的Init事件中可以這樣:  
  LPARAMETERS   toParent  
  toParent.Command1.Caption   =   ""  
  如果要在子窗口的Init事件以外引用父窗口,則可以給子窗口新建一個屬性,比如oParent,然后Init事件:  
  LPARAMETERS   toParent  
  THIS.oParent   =   toParent  
  這樣在子窗口的其他地方就可以這樣用了:  
  THISFORM.oParent.Command1.Caption   =   ""  
   
  ---------------------------------------------  
  如何實現(xiàn)兩個表單之間的相互控制?  
   
  現(xiàn)在有兩個表單   form1   和   form2   (不是表單集)       他們在同時運行之后  
  如何相互控制呢,比如說   點擊form1   的command1   按鈕   使form2   的   text1   文本框內(nèi)容清空   如何實現(xiàn)呢?  
   
  答:方法很多  
  1、表單是容器對象,它可以像變量一樣來賦值  
          a、在運行這兩個表單前可以定義兩個全局變量   public   m.loForm1,   m.loForm2  
          b、在表單Form1的Init   事件中寫入   m.loForm1   =   ThisForm  
          c、在表單Form2的Init   事件中寫入   m.loForm2   =   ThisForm  
          那么要點擊form1   的command1   按鈕   使form2   的   text1   文本框內(nèi)容清空  
          在Form1的command1   按鈕的Click   事件中寫如下代碼即可      
          m.loForm2.text1.value   =   ''  
          m.loForm2.Refresh  
  2、可以使用_VFP   系統(tǒng)變量   的Forms   屬性來操作這兩個表單  
          首先   在Form1的command1按鈕的Click事件中   通過For   循環(huán)語句   通過   _VFP.Forms(I).Caption='Form2'或   _VFP.Forms(I).Name='Form2'     來找到Form2這個表單  
          就可以通過   _VFP.Forms(I).Text1.value   =   ''   來實現(xiàn)了  
   
          For   lnFor=1   to   _VFP.Forms.Count  
                  if   (   _VFP.Forms(lnFor).Caption='Form2')   then  
                            _VFP.Forms(lnFor).Text1.value   =   ''  
                  endif  
          EndFor   
 

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章