《GS软件设计》实习报告
} }
private void saveFileDialog1_FileOk(object sender, CancelEventArgs e) { }
private void cmbPageSize_SelectedValueChanged_1(object sender, EventArgs e) {
switch (cmbPageSize.Text) {
case \自定义大小\ txtWidth.Focus(); break; case \
showWH(21, 29.7); break; case \
showWH(29.7, 42); break; case \
showWH(42, 59.4); break; case \
showWH(59.4, 84.1); break; case \
showWH(84.1, 118.9); break; } }
private void txtResolution_ValueChanged_1(object sender, EventArgs e) {
cmbPageSize_SelectedValueChanged_1(null, null); if (this.radioButton3.Checked == true) {
this.txtWidth.Text = pWidth.ToString(\ this.txtHeight.Text = pHeight.ToString(\ } }
private void txtWidth_TextChanged_1(object sender, EventArgs e)
20
《GS软件设计》实习报告
{ }
if (this.radioButton1.Checked == true) {
pWidth = Convert.ToDouble(txtWidth.Text) * Convert.ToDouble(txtResolution.Value);
}
else if (this.radioButton2.Checked == true) {
pWidth =
Convert.ToDouble(Convert.ToDouble(txtWidth.Text) / 2.54) * Convert.ToDouble(txtResolution.Value);
} else {
pWidth = Convert.ToDouble(txtWidth.Text); } }
private void txtHeight_TextChanged_1(object sender, EventArgs e)
{
}
if (this.radioButton1.Checked == true) {
pHeight = Convert.ToDouble(txtHeight.Text) * Convert.ToDouble(txtResolution.Value);
}
else if (this.radioButton2.Checked == true) {
pHeight =
Convert.ToDouble(Convert.ToDouble(txtHeight.Text) / 2.54) * Convert.ToDouble(txtResolution.Value);
} else {
pHeight = Convert.ToDouble(txtHeight.Text); } }
21
《GS软件设计》实习报告
private void radioButton1_Click_1(object sender, EventArgs e) {
this.txtWidth.Text = Convert.ToDouble(pWidth / Convert.ToDouble(txtResolution.Value)).ToString(\
this.txtHeight.Text = Convert.ToDouble(pHeight / Convert.ToDouble(txtResolution.Value)).ToString(\ }
private void radioButton2_Click_1(object sender, EventArgs e) {
this.txtWidth.Text = Convert.ToDouble(2.54 * pWidth / Convert.ToDouble(txtResolution.Value)).ToString(\
this.txtHeight.Text = Convert.ToDouble(2.54 * pHeight / Convert.ToDouble(txtResolution.Value)).ToString(\ }
private void radioButton3_Click_1(object sender, EventArgs e) {
this.txtWidth.Text = pWidth.ToString(\ this.txtHeight.Text = pHeight.ToString(\ }
private void ExportMapForm_Load(object sender, EventArgs e) { } } }
2.地图浏览模块
该模块主要包括地图工具、滚动条,状态条、鹰眼图、内容视图等。其中地图工具可以实现放大、缩小、中心放大、中心缩小、全景视图、漫游、要素选择和取消、空间查询等具体功能。 a.地图工具
实现工具栏中的控件,比如加载地图文件、添加地图图层、地图显示、漫游功能、中心缩放、放大缩小等功能。 具体代码如下: private void OpenNewDocument_Click(object sender, EventArgs e) { ICommand command = new OpenNewMapDocument(m_controlsSynchronizer); ITool tool = command as ITool; command.OnCreate(m_mapControl.Object); command.OnClick(); }
22
《GS软件设计》实习报告
private void AddData_Click(object sender, EventArgs e) { ICommand command = new ControlsAddDataCommandClass(); command.OnCreate(axMapControl1.Object); command.OnClick(); } private void FullExtent_Click(object sender, EventArgs e) { ICommand command = new ControlsMapFullExtentCommandClass(); command.OnCreate(m_mapControl.Object); command.OnClick(); } private void PanTool_Click(object sender, EventArgs e) { ICommand command = new ControlsMapPanToolClass(); ITool tool = command as ITool; command.OnCreate(m_mapControl.Object); axMapControl1.CurrentTool = tool; axPageLayoutControl1.CurrentTool = tool; } private void GoBackToPreviousExtent_Click(object sender, EventArgs e) { ICommand command = new GoBackToPreviousExtent(); command.OnCreate(m_mapControl.Object); command.OnClick(); } private void GoToNextExtent_Click(object sender, EventArgs e) { ICommand command = new GoToNextExtent(); command.OnCreate(m_mapControl.Object); command.OnClick(); } private void ZoomIn_Click(object sender, EventArgs e) { ICommand command = new ZoomIn(); command.OnCreate(m_mapControl.Object); ITool tool = command as ITool; axMapControl1.CurrentTool = tool; } 23
《GS软件设计》实习报告
private void ZoomOut_Click(object sender, EventArgs e) { ICommand command = new ZoomOut(); command.OnCreate(m_mapControl.Object); ITool tool = command as ITool; axMapControl1.CurrentTool = tool; } private void FixedZoomIn_Click(object sender, EventArgs e) { ICommand command = new FixedZoomIn(); command.OnCreate(m_mapControl.Object); command.OnClick(); } private void FixedZoomOut_Click(object sender, EventArgs e) { ICommand command = new FixedZoomOut(); command.OnCreate(m_mapControl.Object); command.OnClick(); } b.状态栏 在设计视图中,点击窗体中的状态栏,在其属性面板中找到“ Items ”项,单击其右边的按钮,在下拉框中选择“ StatusLabel ”,单击“添加按钮”,依次添加四个 StatusLabel ,依次修改属性参数如下表所示:
设置好之后如下图所示:
首先添加 axToolbarControl1 的 OnMouseMove 事件 在其事件响应函数代码如下: Private void axToolbarControl1_OnMouseMove(object IToolbarControlEvents_OnMouseMoveEvent e) {
// 取得鼠标所在工具的索引号
int index = axToolbarControl1.HitTest(e.x, e.y, false);
sender,
24