実行環境に存在しないフォントを使用した場合、セルに文字と罫線が表示されずエラーが発生することがある
対象製品
MultiRow for Windows Forms 7.0J
発生環境
Windows 8以降の環境で発生します。
状況
修正済み
詳細
MultiRowのセルに設定したフォントが実行環境に存在しない場合、実行時にそのフォントを使用したセルに文字と罫線が表示されません。セルにマウスカーソルを移動すると、次の例外が発生します。
「System.ArgumentException: 同一のキーを含む項目が既に追加されています。」
「System.ArgumentException: 同一のキーを含む項目が既に追加されています。」
回避方法
この問題はService Pack 4(v7.0.2016.0428)で修正されました。
不具合を修正した最新のサービスパックは、アップデートページ からダウンロードできます。
Service Pack 4より前のバージョンでは次の方法で回避可能です。
フォームのLoadイベントなどでMultiRowを初期化する時、対象となるセルスタイルに対して、次のようなコードでフォントを設定してください。
[Visual Basic]
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.GcMultiRow1.DefaultCellStyle.Font = CType(New Font("フォント名", 15.75!, FontStyle.Regular, GraphicsUnit.Point, CByte(128)).Clone(), Font)
End Sub
[C#]
private void Form1_Load(object sender, EventArgs e)
{
this.gcMultiRow1.DefaultCellStyle.Font = (Font)new Font("フォント名", 15.75f, FontStyle.Regular, GraphicsUnit.Point, Convert.ToByte(128)).Clone();
}
不具合を修正した最新のサービスパックは、アップデートページ からダウンロードできます。
Service Pack 4より前のバージョンでは次の方法で回避可能です。
フォームのLoadイベントなどでMultiRowを初期化する時、対象となるセルスタイルに対して、次のようなコードでフォントを設定してください。
[Visual Basic]
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.GcMultiRow1.DefaultCellStyle.Font = CType(New Font("フォント名", 15.75!, FontStyle.Regular, GraphicsUnit.Point, CByte(128)).Clone(), Font)
End Sub
[C#]
private void Form1_Load(object sender, EventArgs e)
{
this.gcMultiRow1.DefaultCellStyle.Font = (Font)new Font("フォント名", 15.75f, FontStyle.Regular, GraphicsUnit.Point, Convert.ToByte(128)).Clone();
}
キーワード
MLTR10878