線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2178
推到 Plurk!
推到 Facebook!

Radiobutton的问题

答題得分者是:Stallion
ntjrr
高階會員


發表:240
回覆:312
積分:110
註冊:2005-04-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-08-03 21:50:56 IP:222.184.xxx.xxx 未訂閱
Radiobutton有一个属性是checked,那么当这个属性为true时发生一个checked事件,那象没找到相应的事件写在哪里。
------
我的编程起步于ktop,我将永远支持ktop
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-08-03 22:09:14 IP:211.22.xxx.xxx 未訂閱
引言: Radiobutton有一个属性是checked,那么当这个属性为true时发生一个checked事件,那象没找到相应的事件写在哪里
抱歉,紅色的那句真的看不懂,可不可以說的具體一點。 ----------------------------------------------
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-08-04 01:24:12 IP:219.68.xxx.xxx 未訂閱
我也是猜測 只要Checked被設定,就會觸發OnClick事件,試試看。 procedure TForm1.Button1Click(Sender: TObject); begin CheckBox1.Checked:=not CheckBox1.Checked; end; procedure TForm1.CheckBox1Click(Sender: TObject); begin ShowMessage('dasf'); end;
ntjrr
高階會員


發表:240
回覆:312
積分:110
註冊:2005-04-24

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-08-04 07:09:11 IP:222.184.xxx.xxx 未訂閱
引言: 我也是猜測 只要Checked被設定,就會觸發OnClick事件,試試看。 procedure TForm1.Button1Click(Sender: TObject); begin CheckBox1.Checked:=not CheckBox1.Checked; end; procedure TForm1.CheckBox1Click(Sender: TObject); begin ShowMessage('dasf'); end;
根据您的指点,我试了一下,radiobutton可以写在onclick事件中,checkbox不能写在onclick事件中,因为假设第一次click,那么checkbox是选中,第二次click那么就是未选中,第三次又是选中,但我要的只是在选中时(checked:=true)时发生。谢谢!
------
我的编程起步于ktop,我将永远支持ktop
h@visli
資深會員


發表:103
回覆:429
積分:431
註冊:2004-02-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-08-04 09:08:37 IP:222.248.xxx.xxx 未訂閱
TRadioButton組件的OnClick事件衹有當該組件是被選中時才會激發。 也就是講,當TRaidoButton的狀態是從未被選中變成被選中,才能有OnClick事件執行,而當狀態是從被選中變成未被選中時,OnClick事件就不能被觸發。 所以本身已經符合您的要求:“但我要的只是在选中时(checked:=true)时发生” ---------------------------- 於Delphi K.Top之上 博采眾家之長, 奉獻綿薄之力 --------------------------- 發表人 - h@visli 於 2005/08/04 09:11:51
------
------------------------
博采眾家之長,奉獻綿薄之力
------------------------
h@visli
資深會員


發表:103
回覆:429
積分:431
註冊:2004-02-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-08-04 09:20:39 IP:222.248.xxx.xxx 未訂閱
對於TCheckBox組件,則OnClick事件在Checked狀態改變時都會執行。 所以如果您要實現“但我要的只是在选中时(checked:=true)时发生”效果。    則請不要使用OnClick事件,而改用下面的兩個事件來共同完成:
procedure TForm1.CheckBox1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if not CheckBox1.Checked then
    edit3.Text := inttostr(strtoint(edit3.Text)   1);
end;    procedure TForm1.CheckBox1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if CheckBox1.Checked then
    edit3.Text := inttostr(strtoint(edit3.Text)   1);
end;
---------------------------- 於Delphi K.Top之上 博采眾家之長, 奉獻綿薄之力 ---------------------------
------
------------------------
博采眾家之長,奉獻綿薄之力
------------------------
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-08-04 10:21:07 IP:218.15.xxx.xxx 未訂閱
引言: 根据您的指点,我试了一下,radiobutton可以写在onclick事件中,checkbox不能写在onclick事件中,因为假设第一次click,那么checkbox是选中,第二次click那么就是未选中,第三次又是选中,但我要的只是在选中时(checked:=true)时发生。谢谢!
插花: 在CheckBox加上一个判断都一样的,如下,当(checked:=true)时发生:
 procedure TForm1.RadioButton1Click(Sender: TObject);
begin
  showmessage('checked!');
end;    procedure TForm1.CheckBox1Click(Sender: TObject);
begin
  if CheckBox1.Checked then  //只有checked就触发
    showmessage('checked!')
end;
============================ 为什么经过多年以后,得失的过程如此冷漠 ============================
系統時間:2024-06-26 9:24:33
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!