誰かが以前にこの問題を経験したことがあるかどうか疑問に思っています。C#、.NET 4.5、および Visual Studio 2013 を使用しています。
基本的に標準の Windows Forms から継承するカスタム テキスト ボックスがありますTextBox
。その上に、次のようなプロパティがあります。
public EnumName Property { get; set; }
列挙は次のEnumName
ように定義されます。
[Flags]
public enum EnumName
{
Value1 = 1,
Value2 = 2,
Value3 = 3
}
フォームでカスタム コントロールを使用し、プロパティを に設定するとValue3
、デザイナーは実際に次のことを行います。
control.EnumName = EnumName.Value1 | EnumName.Value2;
これで問題ありません。しかし最近、新しい値をEnumName
(eg, Value4 = 9999
) に追加すると、デザイナーは代わりに次のようにします。
control.EnumName = EnumName.9999
この背後にある理由を知っている人はいますか?それはかなりイライラします。