ComponentOne 利用ガイド
[008] Styles プロパティに CellStyleCollection クラスを設定するコードで、「古い形式です」という警告が表示される
移行ガイド > 各種移行資料 > WinForms 移行情報 > FlexGrid for WinForms 移行情報 > [008] Styles プロパティに CellStyleCollection クラスを設定するコードで、「古い形式です」という警告が表示される
変更バージョン 2.5.20061.236
カテゴリ スタイル
対応策

詳細

旧バージョンでは、フォームに C1FlexGrid コントロールを貼り付けると、Form1.Designer.vb または Form1.Designer.cs 内において、Styles プロパティに CellStyleCollection クラスを割り当てるためのコンストラクタが、IDE によって自動生成されました。

this.c1FlexGrid1.Styles = new C1.Win.C1FlexGrid.CellStyleCollection(resources.GetString("c1FlexGrid1.Styles"));
Me.C1FlexGrid1.Styles = New C1.Win.C1FlexGrid.CellStyleCollection(resources.GetString("C1FlexGrid1.Styles"))

このコードを含むプロジェクトを本バージョンに移行すると、この設定行で「古い形式です」という旨の下記警告が表示されます。

警告 'C1.Win.C1FlexGrid.CellStyleCollection.CellStyleCollection(string)' は古い形式です: 'Please make a change to the control in the designer and rebuild the project.'

これは、本バージョンでは IDE による上記コードの自動生成が廃止になったためです。旧バージョンとの互換性からコンストラクタ自体を削除できないため、移行後のプロジェクトにこのコードが残っている場合には、警告を表示することで注意を促すようにしています。

この警告を表示しないようにするには、以下のいずれかの手順に従ってください。

  1. 旧バージョンで生成されたコードをそのまま使用していた場合

    1. 移行ツールでプロジェクトを移行し、参照先を最新版のアセンブリに変更します。
    2. C1FlexGrid コントロールに対して何らかの変更(例:ShowErrors プロパティの値を True に変更し、再度 False に戻す)を行います。
    3. プロジェクトのリビルドを実行します。

    これにより、IDEによってコードの再・自動作成が行われ、該当する旧コードの記述が削除されます。

  2. 旧バージョンで生成されたコードを変更していた場合

    例:標準セルの背景色を設定していた場合

    this.c1FlexGrid1.Styles = new C1.Win.C1FlexGrid.CellStyleCollection(@"Normal{BackColor:WindowFrame;}");
    Me.C1FlexGrid1.Styles = New C1.Win.C1FlexGrid.CellStyleCollection("Normal{BackColor:WindowFrame;}")
    1. 移行ツールでプロジェクトを移行し、参照先を最新版のアセンブリに変更します。
    2. Form1.Designer.vb または Form1.Designer.cs 内の上記コードを削除します。
    3. Form1_Load イベントに、以下のコードを追加します。
      this.c1FlexGrid1.Styles.Normal.BackColor = SystemColors.WindowFrame;
      Me.C1FlexGrid1.Styles.Normal.BackColor = SystemColors.WindowFrame
    4. プロジェクトのリビルドを実行します。

    これにより、エラーを表示させずに実行することができるようになります。

関連トピック