Arrow
ユーザーがビューに新しい行を作成し、新しいArrow
プロパティを入力することでクラスの新しいインスタンスを追加できるDataGridViewを含むGUIアプリケーションを作成しました。それらのプロパティの1つが呼び出されtransferType
、文字列です。
ユーザーがtransferType
設定フォームで有効なのリストを設定できるようにします。Properties.Settings
Visual Studioに組み込まれているconventツールを使用してアプリケーション設定を作成および管理し、設定を保存するために使用しています。
ユーザーがtransferType
手動でフィールドに入力し、有効なのいずれにも一致しない場合にDataGridViewにエントリを拒否させるのではなくtransferTypes
、有効なオプションが入力されたドロップダウンメニューを使用するようにDataGridViewの列を設定しようとしています。 。これを行うには、(GUIの構築に使用された)Visual Studios GUIデザインツールを使用して、列を編集し、[列の種類]をからDataGridViewTextBoxColumn
に変更しましたDataGridViewComboBoxColumn
。この変更によりDataSource
、コンボボックスの選択項目にデータを入力するように選択できるので、[その他のデータソース]で設定を保存する[プロパティ]を選択しようとしましProperties.Settings.Default
たが()、何らかの理由でVisualStudioで許可されませんそれを選択します。
DataSource
次に、GUIの初期化後に、「」(転送タイプは4列目)という行を使用して、コードでコンボボックスの設定を試みまし((DataGridViewComboBoxColumn)arrowView.Columns[3]).DataSource = Properties.Settings.Default.validTransferTypes;
たが、プログラムを実行すると、コンボボックスをクリックして試してみると、このエラーが発生します。 「ドロップダウン」するには:
DataGridVIewで次の例外が発生しました:System.ArgumentException:DataGridViewComboBoxCell値が無効です。このデフォルトのダイアログを置き換えるには、DataErrorイベントを処理してください。
OKを押すかウィンドウを終了するとすぐに、エラーがループして再表示されます。
設定を使用してコンボボックスにデータを入力するための合理的な方法が必要だと思いますが、その方法を理解できません。DataSource
また、VisualStudioでusingを作成できない理由もわかりませんProperties
。どんな助けでもいただければ幸いです。
(これも私の最初の投稿された質問ですので、批判に優しくしてください:))
更新:を使用((DataGridViewComboBoxColumn)arrowView.Columns[3]).DataSource = Properties.Settings.Default.validTransferTypes;
するとコンボボックスに正しく入力されることがわかりましたが、コンボボックスをマウスで押すと、前述のエラーが発生します。