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")));
謝謝,它的工作原理。 – PATO7
請注意,您在設計器中所做的任何更改都不會被保存。考慮添加'[Browsable(false)]' – SLaks
如果你想能夠決定是否序列化一個屬性(例如,只有當它的值不同於默認值時纔會序列化),只需添加一個當屬性必須被序列化時名爲ShouldSerializeMarkerOverlay的方法返回true,否則返回false。 –