请问 这里的TCheckBox(Sender).Checked 与 TCheckBox1.Checked 有什么不同? 我以前一直用的是后者。
@彬
这样写便于共用代码.
譬如 procedure TForm1.CheckBox1Click(Sender: TObject); 中的 Sender 就是指 CheckBox1 本身, 但 Sender 声明的是 TObject 类型的;
但它到底是 TCheckBox 还是 TButton 只有使用者自己知道, 类型转换一下即可.
转换后的好处是, 不管是 CheckBox1、CheckBox2... 都可以用 TCheckBox(Sender) 或 Sender as TCheckBox 表示当前对象.
这样写便于共用代码.
譬如 procedure TForm1.CheckBox1Click(Sender: TObject); 中的 Sender 就是指 CheckBox1 本身, 但 Sender 声明的是 TObject 类型的;
但它到底是 TCheckBox 还是 TButton 只有使用者自己知道, 类型转换一下即可.
转换后的好处是, 不管是 CheckBox1、CheckBox2... 都可以用 TCheckBox(Sender) 或 Sender as TCheckBox 表示当前对象.