作成日: 2026/01/27 最終更新日: 2026/04/22
文書種別
不具合
状況
修正済み
詳細
DashBoardLayout コントロールを含むフォームで、C1ThemeController を使用して Office365xxxxを含めたテーマの切り替えを行うと、以下の例外エラーが発生することがあります。
(エラーの内容)
System.ArgumentException: '使用されたパラメーターが有効ではありません。
例えば、C1ThemeController.ApplicationTheme プロパティに対するテーマを以下の順序で変更すると、例外が発生します。
1. Office365xxxx(例:Office365WhiteやOffice365Blackなど)を設定
2. Office2016WhiteなどOffice365xxxx以外のテーマに変更
3. 再度Office365xxxxのテーマを設定する
(結果) 上記例外が発生します。
(エラーの内容)
System.ArgumentException: '使用されたパラメーターが有効ではありません。
例えば、C1ThemeController.ApplicationTheme プロパティに対するテーマを以下の順序で変更すると、例外が発生します。
1. Office365xxxx(例:Office365WhiteやOffice365Blackなど)を設定
2. Office2016WhiteなどOffice365xxxx以外のテーマに変更
3. 再度Office365xxxxのテーマを設定する
(結果) 上記例外が発生します。
回避方法
この問題は2025J v2.1(10.0.20252.755)で修正されました。
※修正版を適用しない場合の回避方法は以下の通りです。
ThemeController にてテーマを選択した際に、DashBoardLayout 内で使われているコントロールのプロパティの内容をクリアすることで例外発生を回避することが可能です。
以下のコードでは、C1DashboardLayout内の下記コントロールを検索して、Region プロパティの設定をクリアしています。
- C1.Win.C1SplitContainer.C1SplitContainer
- System.Windows.Forms.TableLayoutPanel
◎サンプルコード(VB)
Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
'C1ThemeController.ApplicationTheme = ComboBox1.Text
' Office365テーマ選択時に例外が発生する問題を回避する
WorkaroundArgumentException()
C1ThemeController1.Theme = ComboBox1.Text
End Sub
'''
''' C1ThemeControllerのテーマ変更時に発生するArgumentExceptionを回避します
'''
Private Sub WorkaroundArgumentException()
' C1DashboardLayout内の各コントロールについて確認
For Each container As Control In C1DashboardLayout1.Controls
' C1SplitContainerの場合、各パネルのRegionをクリアする
Dim splitContainer = TryCast(container, C1.Win.C1SplitContainer.C1SplitContainer)
If splitContainer IsNot Nothing Then
For Each panel As Control In splitContainer.Panels
panel.Region = Nothing
Next
End If
' TableLayoutPanelの場合、各パネルのRegionをクリアする
Dim tableLayoutPanel = TryCast(container, TableLayoutPanel)
If tableLayoutPanel IsNot Nothing Then
For Each panel As Control In tableLayoutPanel.Controls
panel.Region = Nothing
Next
End If
container.Region = Nothing
Next
End Sub