添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

需要实现功能:checkbox模拟radiobutton功能

因为checkbox的checked的改变有三种方式,

第一种是直接调用语句:checkbox.checked:=true/false; 第二种是直接点击这个控件,当然前提是要有checkboxClick事件. 第三种是state 表示复选框的当前状态.

cbchecked 表示选中,

cbunchecked表示未选中,

cbGrayed表示变灰状态.(allowgrayed 设置true时)

直接点击checkbox的时候要发生一组反应,比如界面上数据的显示变化.而当直接用第一种方法 (checkbox.checked:=true)时,要求没有什么变化,只要打个勾就行了.但这样的语句调用会激发checkbox的 onclick事件,而这是我不想看到的结果. 解决方法:使用焦点(Focused)来区别操作. 就是checkbox的焦点.如果是点击的话,则其焦点就应该为true, 而用语句改变时,checkbox的焦点不为true.这样就能区分两种情况了, 在checkbox的onclick事件中加入的焦点判断这一个条件.

if not chkRelation.Focused then Exit;

Form上面有2个checkbox:A和B,点击勾选其中一个,自动取消另外一个,并且必须有一个按钮选中,和radiobutton效果一样

第一步实现按钮切换效果,但是选中一个后再点击它就会取消选中,例如选中A自动取消选择B,再点击A,A也会取消选中状态,即A和B都未选中:

procedure TForm1.checkbox1Click(Sender: TObject);
begin
if not checkbox 1.Focused then Exit;
checkbox 2.Checked := False;
end;
procedure TForm1. checkbox 2Click(Sender: TObject);
begin
if not checkbox 2.Focused then Exit;
checkbox 1.Checked := False;
end;

第二步实现radiobutton最终效果:

procedure TForm1.checkbox1Click(Sender: TObject);
begin
if not checkbox1.Focused then Exit;
checkbox1.ReadOnly := True;
checkbox2.ReadOnly := False;
checkbox2.Checked := False;
end;


procedure TForm1.checkbox2Click(Sender: TObject);
begin
if not checkbox2.Focused then Exit;
checkbox2.ReadOnly := True;
checkbox1.ReadOnly := False;
checkbox1.Checked := False;
end;

因为 checkbox checked 改变 有三种方式, 第一种是直接调用语句: checkbox . checked :=true/false; 第二种是直接点击这个控件,当然前题是要有 checkbox Click 事件 . 第三种是state 表示复选框的当前状态. cb checked 表示选中,  cbun checked 表示未选中,  cbGrayed表示变灰状态.(allowgrayed 设置
在研究如何使点击处于已点击状态( checked =true)的 RadioButton 取消选中的 候,发现了它的按键 事件 很是让人纠结。 设有一个rb1:T RadioButton ; 鼠标点击 事件 如下: 0.rb1. checked =false; 1.rb1MouseDown() //进入鼠标按下 事件 2.rb1MouseUp() //进入鼠标抬起 事件 3.判断rb1. checked 状态,
The T CheckBox Delphi control displays a checkbox that can be on ( checked ) or off (un checked ). The Checked property specifies whether the checkbox is checked or not. T CheckBox Delphi 控件显示一个可以打开(选中)或关...
本文分享下,设置复选框 checkbox 为只读(readonly)模式的两种方式,它们是return false与this. checked 。有需要的朋友参考下吧。 很多 候,我们需要设置 checkbox 复选框中的选项为只读模式。 下面为大家介绍二种方法。 例1,由于 checkbox 无readOnly属性,使用disabled=“disabled”属性,只会让 checkbox 变成灰色。
您可以在 checked 属性发生变化 ,使用 事件 监听器来 触发 某个 事件 。例如,如果您使用的是HTML中的 checkbox 元素,可以使用JavaScript来为它添加 事件 监听器。以下是一个示例代码: ```html <input type=" checkbox " id="my Checkbox " /> <script> const my Checkbox = document.getElementById('my Checkbox '); my Checkbox .addEventListener('change', function() { if (this. checked ) { // 触发 某个 事件 </script> 在这个示例中,我们为 checkbox 元素添加了一个 事件 监听器,当它的 checked 属性发生变化 ,会 触发 change 事件 。在 事件 处理函数中,我们检查 checkbox checked 属性是否为true,如果是,则执行一些操作,例如 触发 另一个 事件
_平凡之路_: 正解如下: https://blog.csdn.net/leonzheng/article/details/109771553?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-109771553-blog-132554371.235%5Ev43%5Epc_blog_bottom_relevance_base6&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-109771553-blog-132554371.235%5Ev43%5Epc_blog_bottom_relevance_base6&utm_relevant_index=2