2011-08-02 16 views
2

メインフォームにマップコントロールがあります。問題は、フォームデザイナーがコードを生成するときにが変数(RouteOverlayとMarkerOverlay)の値を新しい値で上書きしてしまうためです。生成されたコードの後に​​生成されたコードc#フォームデザイナで生成されたコードの問題

//Map.cs 
RouteOverlay = new GMapOverlay(this, "routes"); 
MarkerOverlay = new GMapOverlay(this, "markers"); 

//MainForm.designer.cs 
this.map1.MarkerOverlay = ((GMap.NET.WindowsForms.GMapOverlay)(resources.GetObject("map1.MarkerOverlay"))); 
this.map1.RouteOverlay = ((GMap.NET.WindowsForms.GMapOverlay)(resources.GetObject("map1.RouteOverlay"))); 

答えて

1

は、プロパティに[DesignerSerializationVisiblity(DesignerSerializationVisiblity.Hidden)]を追加します。
これは、デザイナーがそれらを保存するのを完全に防ぎます。

+0

ありがとうございます。 – PATO7

+0

デザイナーで行った変更は保存されません。 '[Browsable(false)]'を追加することを検討してください。 – SLaks

+0

プロパティを直列化するかどうかを決定できるようにする必要がある場合は(例えば値がデフォルトの値と異なる場合にのみ直列化したい場合など)プロパティをシリアル化する必要がある場合はtrueを返し、そうでない場合はfalseを返すShouldSerializeMarkerOverlayという名前のメソッド。 –

関連する問題