📄 areachooserform.cs
字号:
using System;
using System.Data;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using NiceTracker.Events;
namespace NiceTracker
{
/// <summary>
/// Summary description for AreaChooserForm.
/// </summary>
public class AreaChooserForm : System.Windows.Forms.Form
{
private ArrayList alAreas = new ArrayList();
private ArrayList alSelectedAreas = new ArrayList();
private EventBase eventBase = null;
private System.Windows.Forms.MainMenu mainMenu1;
private System.Windows.Forms.Label labelAvailable;
private System.Windows.Forms.Label labelEventAreas;
private System.Windows.Forms.ListBox listBoxEventAreas;
private System.Windows.Forms.Button buttonAdd;
private System.Windows.Forms.Button buttonRemove;
private System.Windows.Forms.ListBox listBoxAreas;
public AreaChooserForm()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
}
public AreaChooserForm( EventBase evtBase )
{
eventBase = evtBase;
InitializeComponent();
}
/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose( bool disposing )
{
base.Dispose( disposing );
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.listBoxAreas = new System.Windows.Forms.ListBox();
this.mainMenu1 = new System.Windows.Forms.MainMenu();
this.listBoxEventAreas = new System.Windows.Forms.ListBox();
this.labelAvailable = new System.Windows.Forms.Label();
this.labelEventAreas = new System.Windows.Forms.Label();
this.buttonAdd = new System.Windows.Forms.Button();
this.buttonRemove = new System.Windows.Forms.Button();
//
// listBoxAreas
//
this.listBoxAreas.Location = new System.Drawing.Point(8, 16);
this.listBoxAreas.Size = new System.Drawing.Size(224, 93);
//
// listBoxEventAreas
//
this.listBoxEventAreas.Location = new System.Drawing.Point(8, 160);
this.listBoxEventAreas.Size = new System.Drawing.Size(224, 67);
//
// labelAvailable
//
this.labelAvailable.Size = new System.Drawing.Size(100, 16);
this.labelAvailable.Text = "Available Areas";
//
// labelEventAreas
//
this.labelEventAreas.Location = new System.Drawing.Point(0, 144);
this.labelEventAreas.Size = new System.Drawing.Size(168, 20);
this.labelEventAreas.Text = "Areas that trigger this event";
//
// buttonAdd
//
this.buttonAdd.Location = new System.Drawing.Point(184, 120);
this.buttonAdd.Size = new System.Drawing.Size(48, 24);
this.buttonAdd.Text = "Add";
this.buttonAdd.Click += new System.EventHandler(this.buttonAdd_Click);
//
// buttonRemove
//
this.buttonRemove.Location = new System.Drawing.Point(176, 240);
this.buttonRemove.Size = new System.Drawing.Size(56, 20);
this.buttonRemove.Text = "Remove";
this.buttonRemove.Click += new System.EventHandler(this.buttonRemove_Click);
//
// AreaChooserForm
//
this.Controls.Add(this.buttonRemove);
this.Controls.Add(this.listBoxAreas);
this.Controls.Add(this.listBoxEventAreas);
this.Controls.Add(this.buttonAdd);
this.Controls.Add(this.labelEventAreas);
this.Controls.Add(this.labelAvailable);
this.Menu = this.mainMenu1;
this.Text = "Choose Areas";
this.Load += new System.EventHandler(this.AreaChooserForm_Load);
}
#endregion
private void AreaChooserForm_Load(object sender, System.EventArgs e)
{
bool nullAreas = refreshSelectedAreas();
if ( nullAreas )
MessageBox.Show( "Some Areas have no names and will be omitted from this list." );
}
private bool refreshSelectedAreas()
{
alAreas.Clear();
alSelectedAreas.Clear();
listBoxAreas.Items.Clear();
listBoxEventAreas.Items.Clear();
bool nullAreas = false;
foreach ( DataRow dr in CellDB.DTAreas.Rows )
{
GSMCell gsmCell = new GSMCell( dr );
if ( gsmCell.Description != "" )
{
alAreas.Add( gsmCell );
}
else
nullAreas = true;
}
// Sort list and add to list box
alAreas.Sort( new GSMCellComparer() );
foreach ( GSMCell gsmCell in alAreas )
listBoxAreas.Items.Add( gsmCell.Description );
foreach ( GSMCell gsmCell in eventBase.ListAreas() )
{
gsmCell.Description = CellDB.GetAreaDescription( gsmCell );
alSelectedAreas.Add( gsmCell );
listBoxEventAreas.Items.Add( gsmCell.Description );
}
return nullAreas;
}
private void buttonAdd_Click(object sender, System.EventArgs e)
{
if ( listBoxAreas.SelectedIndex != -1 )
{
GSMCell newCell = alAreas[ listBoxAreas.SelectedIndex ] as GSMCell;
alSelectedAreas.Add( newCell );
listBoxEventAreas.Items.Add( newCell.Description );
}
else
{
MessageBox.Show( "Please select a cell" );
}
}
private void buttonRemove_Click(object sender, System.EventArgs e)
{
if ( listBoxEventAreas.SelectedIndex != -1 )
{
if ( MessageBox.Show( "Are you sure you want to delete this area?", "Delete cell", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1 ) == DialogResult.Yes )
{
alSelectedAreas.RemoveAt( listBoxEventAreas.SelectedIndex );
listBoxEventAreas.Items.RemoveAt( listBoxEventAreas.SelectedIndex );
}
}
else
{
MessageBox.Show( "Please select an area" );
}
}
private void buttonOk_Click(object sender, System.EventArgs e)
{
this.DialogResult = DialogResult.OK;
this.Close();
}
public ICollection SelectedAreas
{
get
{
return alSelectedAreas;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -