/// <summary>
 /// 対象外以外のボタンのVisibleを反転します。
 /// ci が null の場合は全て反転します。
 /// </summary>
 /// <param name="ci">対象外ControlInfoBaseを設定します。</param>
 public void InvertVisible(
     [param: Required] RPUtility.ControlInfoBase ci
     )
 {
     this.CibList.ForEach(c =>
     {
         if (!c.Equals(ci))
         {
             c.InverseVisible();
         }
     });
 }
 /// <summary>
 /// 対象外以外のボタンのIsVisibleを設定します。
 /// ci が null の場合は全て設定します。
 /// </summary>
 /// <param name="visible">フラグを設定します。</param>
 /// <param name="ci">対象外ControlInfoBaseを設定します。</param>
 public void SetVisibles(
     bool visible,
     [param: Required] RPUtility.ControlInfoBase ci
     )
 {
     this.CibList.ForEach(c =>
     {
         if (!c.Equals(ci))
         {
             c.IsVisible.Value = visible;
         }
     });
 }
 /// <summary>
 /// 対象外以外のボタンのEnableを反転します。
 /// ci が null の場合は全て反転します。
 /// </summary>
 /// <param name="ci">対象外ControlInfoBaseを設定します。</param>
 public void InvertEnables(
     [param: Required] RPUtility.ControlInfoBase ci
     )
 {
     /*
      * // 末尾の.ToList(),.ToArray()が無いと動きません。
      * this.CIBList
      *  .Where(c => !c.Equals(ci))
      *  .Select(c => { c.InverseEnable(); return c; })
      *  .ToArray();
      */
     this.CibList.ForEach(c =>
     {
         if (!c.Equals(ci))
         {
             c.InverseEnable();
         }
     });
 }