• Delphi XE2 之 FireMonkey 入门(24)



    在学习 BindingSource 属性时, 可以让两个控件互为绑定源; TBindExpression 对应的功能是 Direction 属性.

    先在窗体上添加 Edit1、Edit2、BindingsList1; 然后激活 Edit1、Edit2 和窗体的默认事件.


    procedure TForm1.FormCreate(Sender: TObject);
    begin
      with TBindExpression.Create(BindingsList1) do
      begin
        ControlComponent := Edit2;
        ControlExpression := 'Text';
        SourceComponent := Edit1;
        SourceExpression := 'Text';
    //    Direction := TExpressionDirection.dirSourceToControl; //默认
    //    Direction := TExpressionDirection.dirControlToSource; //反向
        Direction := TExpressionDirection.dirBidirectional;     //双向
        Active := True;
      end;
    end;
    
    procedure TForm1.Edit1Change(Sender: TObject);
    begin
      BindingsList1.Notify(Sender, '');
    end;
    
    procedure TForm1.Edit2Change(Sender: TObject);
    begin
      BindingsList1.Notify(Sender, '');
    end;


    如果没有 Direction 属性, 代码或许会是:


    procedure TForm1.FormCreate(Sender: TObject);
    begin
      with TBindExpression.Create(BindingsList1) do
      begin
        ControlComponent := Edit2;
        ControlExpression := 'Text';
        SourceComponent := Edit1;
        SourceExpression := 'Text';
        Active := True;
      end;
    
      with TBindExpression.Create(BindingsList1) do
      begin
        ControlComponent := Edit1;
        ControlExpression := 'Text';
        SourceComponent := Edit2;
        SourceExpression := 'Text';
        Active := True;
      end;
    end;
    
    procedure TForm1.Edit1Change(Sender: TObject);
    begin
      BindingsList1.Notify(Sender, '');
    end;
    
    procedure TForm1.Edit2Change(Sender: TObject);
    begin
      BindingsList1.Notify(Sender, '');
    end;
  • 相关阅读:
    PAT 2016 数据的交换输出
    HDU 2020 绝对值排序
    HDU 2013 蟠桃记
    HDU 2005 第几天?
    HDU 2004 成绩转换
    系统时钟初始化
    array_map 去除数组参数里面左右两端空格
    建立自己的异常类方式
    laravel withCount 统计关联数量
    laravel门面和服务提供者使用
  • 原文地址:https://www.cnblogs.com/dzdd/p/3346857.html
Copyright © 2020-2023  润新知