ورود

View Full Version : یه مشکل کوچیک با CheckBox



kimia1
شنبه 09 خرداد 1383, 11:31 صبح
سلام
من یه برنامه دارم که توی اون دوتا CheckBox هست .برنامه طوری است که باید یکی از اونها همیشه انتخاب شده باشه(البته میتونه هر دو هم انتخاب شده باشه ولی نمیشه هیچکدوم تیک نخورده باشند).برای این کار از یه برنامه کمک گرفتم اینطور

Procedure CheckNoclick(CB:TcheckBox;CheckIt:boolean);
Begin
Cb.Perform(BM_SetCheCk,ord(CheckIt),0);
end;
و بعد توی رویداد onclick این خط را برای هرکدام نوشتم

if (Not(Ps_chk.Checked) And Not(Pkh_chk.Checked)) then
checkNoClick(Pkh_chk,true);
با این کارها مشکل حل میشه یعنی همیشه یکی از اونها تیک خورده است..اما این ظاهر قضیه است ..یعنی اگه یکی انتخاب شده باشه و هر بار روی اون کلیک کنم..درسته که تیک برداشته نمیشه اما توی برنامه خاصیت Checked اون True و False میشه ..خواهش میکنم کمک کنید :(

hr110
شنبه 09 خرداد 1383, 12:37 عصر
متد زیر را برای یکی از چک باکسها بنویسید و برای دومی نیز از متد زیر استفاده کنید(یکبار متد زیر تعریف شود):


procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if (not CheckBox1.Checked)and(not CheckBox2.Checked)then
(Sender as TCheckBox).Checked:=True;
end;

kimia1
شنبه 09 خرداد 1383, 12:45 عصر
ممنون
حقیقتش با اضافه کردن همون خط دوم (البته به کد ی که نوشته بودم) مشکل حل شد... :oops:
اما باز هم میگم..کدهای آقای ربیعی همیشه ساده هستند و مختصر :تشویق: