//this method trigged when user clicks Inputwindow.Apply
        private void Input_ApplyShip(object sender, CustomEventArg e)
        {
            var listviewitem = new ListViewItem(new string[] { e.Model.Name, e.Model.CrewSize.ToString(), e.Model.ActiveDuty.ToString(), e.Model.ShipType.ToString() });

            //store this object to listview.item.tag
            listviewitem.Tag = e.Model;

            //Update this object to selected row
            var currentIndex = lvDisplay.SelectedItems[0].Index;

            lvDisplay.Items[currentIndex] = listviewitem;
        }
        // method is triggerred when user clicks Inputwindow.Ok
        private void Input_NewShip(object sender, CustomEventArg e)
        {
            //add this obj to ListView
            var listviewitem = new ListViewItem(new string[] { e.Model.Name, e.Model.CrewSize.ToString(), e.Model.ActiveDuty.ToString(), e.Model.ShipType.ToString() });

            //store this object to listview.item.tag
            listviewitem.Tag = e.Model;

            var lvItem = lvDisplay.Items.Add(listviewitem);

            lvItem.ImageIndex = 0;

            toolStripStatusLabel2.Text = lvDisplay.Items.Count.ToString();
        }