📄 selectionlayereditorform.cs
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using ESRI.ArcGIS.ADF.Web.DataSources.Graphics;
namespace SelectToolTask
{
public partial class SelectionLayerEditorForm : Form
{
public SelectionLayerEditorForm(string[] selectableLayers,
string[] allLayerNames, string[] invalidServices)
{
InitializeComponent();
if (allLayerNames != null)
{
clbAvailableLayers.Items.AddRange(allLayerNames);
if (selectableLayers != null && selectableLayers.Length > 0)
rbnSpecifySelectionLayers.Checked = true;
}
else
{
// Can't get list of all layers -- notify user and disable specifying layers
clbAvailableLayers.Items.Add("(Error getting layers)");
rbnSpecifySelectionLayers.Enabled = false;
}
if (invalidServices != null && invalidServices.Length > 0)
{
lblError.Visible = true;
lblErrorServices.Visible = true;
lblErrorServices.Text = String.Join("; ", invalidServices);
}
SelectableLayers = selectableLayers;
}
public string[] SelectableLayers
{
get
{
string[] selLayers = new string[0];
// If specify layers, get the list. Otherwise an empty array will be returned.
if (rbnSpecifySelectionLayers.Checked)
{
int numSelected = clbAvailableLayers.CheckedItems.Count;
selLayers = new string[numSelected];
for (int i = 0; i < numSelected; i++)
selLayers[i] = (string)clbAvailableLayers.CheckedItems[i];
}
return selLayers;
}
set
{
if (value != null && value.Length > 0)
{
// find each selectable layer in the layer list and turn checkbox on
foreach (string lyr in value)
{
for (int i = 0; i < clbAvailableLayers.Items.Count; i++)
{
if (lyr == (string)clbAvailableLayers.Items[i])
{
clbAvailableLayers.SetItemChecked(i, true);
break;
}
}
}
}
}
}
private void btnOk_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.OK;
Hide();
}
private void btnCancel_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.Cancel;
Hide();
}
// enable/disable selection list based on radio button
private void rbnSpecifySelectionLayers_CheckedChanged(object sender, EventArgs e)
{
clbAvailableLayers.Enabled = rbnSpecifySelectionLayers.Checked;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -