0

タイプ の Property を持つ UserControl を作成しましたRotateFlipType。このコントロールは、それに応じてプロパティを設定する別の UserControl 内で使用されます。

問題は、 RotateFlipType MSDN ドキュメントによると、Enum には 16 個のフィールドがありますが、VS プロパティ ウィンドウには 14 個しか表示されずRotate180FlipNoneRotateNoneFlipX欠落しています。

を使用する必要がありますRotate180FlipNone。コードを介して設定するとうまくいきますが、私は本当にそのようにしたくありません。

4

1 に答える 1

1

コンボ ボックスの値を詳しく見てみましょう。重複が含まれていることに注意してください。

ここに画像の説明を入力

はい、そのため値が欠落しています。リストにはまだ 16 個の値が含まれています。

これは、RotateFlipType の列挙型の値が曖昧であるためです。異なる値は 8 つしかありません。RotateNoneFlipNone と同様に、Rotate180FlipXY とまったく同じ変換です。一枚の紙で試してみてください。または直感的に、2 つの可能な投影 (オリジナルと反転) を乗算した 4 つの可能な回転があります。そのため、型コンバーターが列挙型の整数値 (0 から 7 の間) を文字列に変換するのに問題があります。選択できるのは 2 つあり、最初の一致が選択されます。

値を別の文字列 (8 つの可能な文字列の 1 つ) にマップするには、独自の TypeConverter を記述する必要があります。UITypeConverter を記述して、たとえば変換を示すビットマップを使用してもう少し明白にすることもできます。

于 2012-04-22T15:27:23.323 に答える