不同表單傳值給combobox的問題 |
缺席
|
licheer
一般會員 發表:23 回覆:20 積分:8 註冊:2007-08-19 發送簡訊給我 |
|
jow
尊榮會員 發表:66 回覆:751 積分:1253 註冊:2002-03-13 發送簡訊給我 |
列舉三種方式, 提供你參考...
[code cpp] //--------------------------------------------------------------------------- class TForm1 : public TForm { __published: TButton *Button1; TButton *Button2; TButton *Button3; void __fastcall Button1Click(TObject *Sender); void __fastcall Button2Click(TObject *Sender); void __fastcall Button3Click(TObject *Sender); public: String SSS; __fastcall TForm1(TComponent* Owner); }; //--------------------------------------------------------------------------- [/code] [code cpp] //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner): TForm(Owner) { SSS = ""; } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { TForm2* f2 = new TForm2(this); try{ f2->ComboBox1->Items->CommaText = "AAA,BBB,CCC"; f2->ComboBox1->ItemIndex = 0; f2->ShowModal(); } __finally{ delete f2; } } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { TForm2* f2 = new TForm2(this, "DDD,EEE,FFF"); try{ f2->ShowModal(); } __finally{ delete f2; } } //--------------------------------------------------------------------------- void __fastcall TForm1::Button3Click(TObject *Sender) { SSS = "GGG,HHH,III"; TForm2* f2 = new TForm2(this); try{ f2->ShowModal(); } __finally{ delete f2; } } //--------------------------------------------------------------------------- [/code] [code cpp] //--------------------------------------------------------------------------- class TForm2 : public TForm { __published: TComboBox *ComboBox1; public: __fastcall TForm2(TComponent* Owner); __fastcall TForm2(TComponent* Owner, String s); }; //--------------------------------------------------------------------------- [/code] [code cpp] //--------------------------------------------------------------------------- __fastcall TForm2::TForm2(TComponent* Owner): TForm(Owner) { if(((TForm1*)Owner)->SSS!=""&&ComboBox1){ ComboBox1->Items->CommaText = ((TForm1*)Owner)->SSS; ComboBox1->ItemIndex = 0; ((TForm1*)Owner)->SSS = ""; } } //--------------------------------------------------------------------------- __fastcall TForm2::TForm2(TComponent* Owner, String s): TForm(Owner) { ComboBox1->Items->CommaText = s; if(ComboBox1->Items->Count>0) ComboBox1->ItemIndex = 0; } //--------------------------------------------------------------------------- [/code] ===================引 用 licheer 文 章=================== 有兩個 form, form2 會用到 form1 的變數 已經在 form2 include 了 form1.h 我把要給 combobox 的內容寫在 formcreate 裡 可是這樣沒辦法將值從 form1 傳過來 必須把動作寫在 button 內, click 後值才會傳給 form2 請問有什麼方法可以直接再 form2 一打開就 get 到值呢? THX |
yubad2000
中階會員 發表:0 回覆:44 積分:78 註冊:2007-09-30 發送簡訊給我 |
Please try put your code of OnClick event in Form2's OnActive event.
Then see how it works. ===================引 用 licheer 文 章=================== 有兩個 form, form2 會用到 form1 的變數 已經在 form2 include 了 form1.h 我把要給 combobox 的內容寫在 formcreate 裡 可是這樣沒辦法將值從 form1 傳過來 必須把動作寫在 button 內, click 後值才會傳給 form2 請問有什麼方法可以直接再 form2 一打開就 get 到值呢? THX
------
===波士頓夜未眠=== What a wonderful world!! Jazz up the world with jazz!! ================== When I am not programming... you can find me here: http://www.holy-war.de/EN/World3/bin/?advertiser=63190 |
licheer
一般會員 發表:23 回覆:20 積分:8 註冊:2007-08-19 發送簡訊給我 |
form1->Num 是在 form1 跑一個function後, 會得到的數量
form1->Name[i] 是對應每一個 num 的名稱 我要把這兩個值傳過來自動加進去 form2 的 combobox 下面這段我寫在 form2 的 formcreate 是沒有作用的 可是改寫到 buttonclick 裡後, 就能把那些值抓過來 [code cpp] for ( int i=0; i<form1->Num ; i ) ComboBox2->Items->Add(form1->Name[i]); [/code] |
licheer
一般會員 發表:23 回覆:20 積分:8 註冊:2007-08-19 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |