forked from dani3l3/mpviewer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
MultipleMPSelectionForm.cs
70 lines (56 loc) · 1.94 KB
/
MultipleMPSelectionForm.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Common;
using Microsoft.EnterpriseManagement.Configuration;
namespace MPViewer
{
public partial class MultipleMPSelectionForm : Form
{
public ManagementPack ChosenMP;
private IList<ManagementPack> MPList;
public MultipleMPSelectionForm(IList<ManagementPack> MPListInput)
{
this.MPList = MPListInput;
this.MPSortableList = new SortableListView();
this.MPSortableList.Items.Clear();
this.MPSortableList.Columns.Clear();
this.MPSortableList.Columns.Add("Management Pack");
this.MPSortableList.Columns.Add("Version");
foreach (ManagementPack mp in MPListInput)
{
ListViewItem item = new ListViewItem();
item.Text = mp.Name;
item.SubItems.Add(mp.Version.ToString());
this.MPSortableList.Items.Add(item);
}
this.MPSortableList.AdjustColumnSizes();
InitializeComponent();
}
private void buttonOK_Click(object sender, EventArgs e)
{
//since the form has multi-select disabled, the selected item is always index 0
IEnumerable<ManagementPack> ChosenMPCollection = MPList.Where(mp => mp.Name.Equals(this.MPSortableList.SelectedItems[0].Text));
ChosenMP = ChosenMPCollection.ToList()[0];
this.Close();
return;
}
private void MPSortableList_SelectedIndexChanged(object sender, EventArgs e)
{
if (MPSortableList.SelectedItems.Count == 0)
{
this.buttonOK.Enabled = false;
}
else
{
this.buttonOK.Enabled = true;
}
return;
}
}
}