在2013年6月至2013年12月底,我在上海冠信电子系统有限公司(上海图元软件公司)实习,期间有一定收获,现在记录下来,以备将来面试之用。
1,流程图
左右滑动track和view会触发2个事件,栅格缩放会触发一个事件,扫视和缩放也会触发一个事件。
private void tsiZoomTrack_ValueChanged(object sender, EventArgs e) { int ratio100 = TrackValueConvertToRatio(this.tsiZoomTrack.Value); this.tsiZoomRatio.Text = string.Format("{0,3}%", ratio100); InitTsiZoomRatio(); Get_CurrentZoomRatio(ratio100); if (this.overviewControl1.Diagram != null) this.overviewControl1.Diagram.View.Magnification = (float)ratio100; } private void tsiZoomView_Click(object sender, EventArgs e) { if (!this.overViewControlPanel.Visible) { overViewControlPanel.Location = new Point(this.diagram1.Width - overViewControlPanel.Width, this.diagram1.Height - overViewControlPanel.Height); overViewControlPanel.Show(); } else { overViewControlPanel.Hide(); } } private void overviewControl1_ViewPortBoundsChanged(ViewPortBoundsChangedEventArgs evtArgs) { int newValue = RatioConvertToTrackValue((int)this.overviewControl1.Diagram.View.Magnification); if (newValue != this.tsiZoomTrack.Value) { this.tsiZoomTrack.Value = newValue; } } private void diagram1_SizeChanged(object sender, EventArgs e) { overViewControlPanel.Location = new Point(this.diagram1.Width - overViewControlPanel.Width, this.diagram1.Height - overViewControlPanel.Height); }