環(huán)境WindowsXP,BCB6.0(UPD4 (English)
Form1(主Form),F(xiàn)orm1上有Button1,點(diǎn)擊Button1顯示Form2。
Form2上有一個(gè)RadioGroup1和Edit1,在Form2的OnShow事件中,
進(jìn)行RadioGroup1->ItemIndex = StrToInt(Edit1->Text);賦值操作。Edit1->Text默認(rèn)值0。
Form2顯示后,在界面上選擇與StrToInt(Edit1->Text)不同的選項(xiàng)后關(guān)閉Form2。假設(shè)選擇了第二項(xiàng)。
回到Form1,重新打開(kāi)Form2,這時(shí)應(yīng)該顯示的是RadioGroup1->ItemIndex = 0;
可是結(jié)果卻顯示為第二項(xiàng)。
PS:Form1,F(xiàn)orm2都是自動(dòng)創(chuàng)建的Form。
From1.cpp代碼如下
//----------------------------Head Begin-----------------------------------------------
#ifndef Unit1H
#define Unit1H
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TButton *Button1;
void __fastcall Button1Click(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
//---------------------------Head End------------------------------------------------
//---------------------------Cpp Begin------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Form2->Show();
}
//--------------------------Cpp End-------------------------------------------------
Form2代碼如下
//--------------------------Form2 Head Begin-------------------------------------------------
#ifndef Unit2H
#define Unit2H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
//---------------------------------------------------------------------------
class TForm2 : public TForm
{
__published: // IDE-managed Components
TRadioGroup *RadioGroup1;
TEdit *Edit1;
void __fastcall FormShow(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TForm2(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm2 *Form2;
//---------------------------------------------------------------------------
#endif
//-----------------------------Form2 Head End----------------------------------------------
//-----------------------------From2 Cpp Begin----------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm2::FormShow(TObject *Sender)
{
RadioGroup1->ItemIndex = StrToInt(Edit1->Text);
}
//------------------------------From2 Cpp End---------------------------------------------
解決方法:
在TForm2::FormShow加入RadioGroup1->SetFocus();
void __fastcall TForm2::FormShow(TObject *Sender)
{
RadioGroup1->SetFocus(); //加入
RadioGroup1->ItemIndex = StrToInt(Edit1->Text);
}
posted on 2010-07-05 15:53
楚天清秋 閱讀(1725)
評(píng)論(1) 編輯 收藏 引用 所屬分類(lèi):
C++ Builder