private void dataGridView1_SelectionChanged(object sender, EventArgs e) { //如果是来自地图窗口的就不继续 if (FromMapWindow) { return; } //如果两个窗口当前选集都是空的 也没必要继续 if (Layer.Selection.Count == 0 && dataGridView1.SelectedRows.Count == 0) { return; } //更新当前窗口的选择集 Layer.ClearSelection(); foreach (DataGridViewRow row in dataGridView1.SelectedRows) { //空值也可能会被选中 if (row.Cells[0].Value != null) { Layer.AddSelectedFeatureByID(Convert.ToInt32(row.Cells[0].Value)); } } //更新地图窗口的显示 MapWindow.UpdateMap(); }
private void Btchangethematic_Click(object sender, EventArgs e) { Color maxvcolor = btmaxvcolor.BackColor; Color minvcolor = btminvcolor.BackColor; Color edgecolor = btedgecolor.BackColor; //如果选择的是默认的分位数分级方法 if (cbleveltype.SelectedIndex == 0) { if (layer.MakeGradualColor(cbattribute.SelectedIndex, Int32.Parse(tblevelnumber.Text), maxvcolor, minvcolor, edgecolor) == false) { MessageBox.Show("基于该属性无法绘制分层设色地图!!"); return; } } //如果选择的是等间隔分级方法 else if (cbleveltype.SelectedIndex == 1) { if (layer.MakeGradualColorByGap(cbattribute.SelectedIndex, Int32.Parse(tblevelnumber.Text), maxvcolor, minvcolor, edgecolor) == false) { MessageBox.Show("基于该属性无法绘制等间隔的分层设色地图!!"); return; } } //如果选择标准差分级方法 else if (cbleveltype.SelectedIndex == 2) { if (layer.MakeGradualColorBySD(cbattribute.SelectedIndex, maxvcolor, minvcolor, edgecolor) == false) { MessageBox.Show("基于该属性无法绘制标准差法分层设色地图!!"); return; } } //更新地图绘制 if (sender.Equals(preview)) { PreviewWindow.UpdateMap(); } else if (sender.Equals(btchangethematic)) { Mapwindow.UpdateMap(); } }
private void Btapply_Click(object sender, EventArgs e) { Mapwindow.UpdateMap(); }