0

表示可能なアイテムのいくつかの異なる組み合わせをサポートするアプリケーションがあります。各ビューは、対応するツリーノードをクリックすることでオンとオフを切り替えることができます。問題は、個々のnode.checkedブール値を.settingsファイルの個別のブール値に格納したくないということです。

そのため、現在ビットマスクを使用しようとしていますが、設定ファイルエディタの選択可能なタイプにそのタイプを追加する方法がわかりません。

それを保存用に選択可能なタイプにするにはどうすればよいですか?

4

3 に答える 3

2

列挙型は舞台裏のInt32です。実際、列挙型の変数には、元の列挙型に値がない場合でも、任意の整数値を割り当てることができます。設定で整数型を使用した場合は、それを定義済みの列挙型にキャストして使用できます。整数値が列挙型によって定義されているかどうかのチェックはありません。

設定の値を計算するのが難しくなる可能性があるため、設定ファイルでこれにビットマスクを使用する場合は注意が必要です。たとえば、ビット1と3をtrueに設定する場合、設定ファイルに入力する必要のある値は「5」になります。これは、1番目と3番目のビットが1に設定されている整数だからです。

<<コードでは、ビットシフト演算子を使用して値を読みやすくすることができます。.NET4以降ではEnum.HasFlaghttp://msdn.microsoft.com/en-us/library/system.enum.hasflag.aspx)。

于 2012-06-19T08:39:27.857 に答える
1

タイプだけで使えますInt32Int16ビットマスクは、整数(4バイト)またはその他の指定された整数型(例)の非ゼロビットのセットです。

于 2012-06-19T07:00:41.093 に答える
1

カスタムタイプをwinforms設定で設定可能にする場合は、文字列との間で変換するTypeConverterを定義する必要があります。

于 2012-06-19T07:37:30.373 に答える