private void DeviceMouseDobleClick(object sender, MouseEventArgs e) { if (bsDevice.Count > 0) // если список сотрудников не пуст - возможно редактирование параметров выбранного сотрудника { DriverManeger.CurrentDevice = bsDevice.Current as Device; DeviceForm deviceDialog = new DeviceForm(); deviceDialog.Owner = this; if (deviceDialog.ShowDialog() == DialogResult.OK) // если диалоговое окно отработало с результатом OK - данные сотрудника изменились { // обноление данных в массиве сотрудников int index = bsDevice.Position; DriverManeger.Device[index] = DriverManeger.CurrentDevice; // обновление привязок данных bsDevice.ResetBindings(false); bsDriver.ResetBindings(false); } } }
public MainForm() { InitializeComponent(); bsDevice.DataSource = DriverManeger.Device; listDevice.DataSource = bsDevice; bsDriver.DataSource = aaa; listDriver.DataSource = bsDriver; btAddDevice.Click += (object s, EventArgs e) => { DriverManeger.CurrentDevice = null; DeviceForm deviceDialog = new DeviceForm(); deviceDialog.Owner = this; if (deviceDialog.ShowDialog() == DialogResult.OK) { bsDevice.ResetBindings(true); } }; btRemoveDevice.Click += (object s, EventArgs e) => { if (bsDevice.Count > 0) { bsDevice.RemoveCurrent(); } else { MessageBox.Show("Список задач пуст, удалять нечего", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Information); } }; listDevice.MouseDoubleClick += new MouseEventHandler(DeviceMouseDobleClick); listDriver.MouseDoubleClick += new MouseEventHandler(DriverMouseDobleClick); btRemoveDriver.Click += (object s, EventArgs e) => { if (bsDriver.Count > 0) { bsDriver.RemoveCurrent(); } else { MessageBox.Show("Список задач пуст, удалять нечего", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Information); } }; btRemove.Click += (object s, EventArgs e) => { if (bsDevice.Count > 0 && (Object)((Device)bsDevice.Current).DeviceDriver != null) { ((Device)bsDevice.Current).DeviceDriver = null; bsDevice.ResetBindings(false); } }; btAdd.Click += (object s, EventArgs e) => { if (bsDriver.Count > 0 && bsDevice.Count > 0 && ((Object)((Device)bsDevice.Current).DeviceDriver) == null && ((Driver)bsDriver.Current).Compeare((Device)bsDevice.Current)) // если списки сотрудников и задач не пусты - обавление связе между ними возможно { ((Device)bsDevice.Current).DeviceDriver = (Driver)bsDriver.Current; bsDevice.ResetBindings(false); } else { MessageBox.Show("Невозможно установить драйвер ", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Information); } }; btGenericDriver.Click += (object s, EventArgs e) => { Random rand = new Random(); if (deviceforrandom.Count != 0) { int randomNum = rand.Next(1, deviceforrandom.Count); for (int i = 0; i < randomNum; i++) { int randomVersion = rand.Next(1, 5); int randomVersion1 = rand.Next(100, 999); int randomOCIndex = rand.Next(ocfromrandom.Count); int randomIndex = rand.Next(deviceforrandom.Count); e_Device device = deviceforrandom.ElementAt(randomIndex); e_OC OS = ocfromrandom.ElementAt(randomOCIndex); DriverManeger.Driver.Add(device, new Driver("Driver №" + count, "v" + randomVersion + ".0" + randomVersion1, device, OS)); count++; deviceforrandom.Remove(device); } } else { MessageBox.Show("Вы добавили все драйверы", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Information); } aaa.Clear(); foreach (var item in DriverManeger.Driver) { aaa.Add(item.Value); } bsDriver.ResetBindings(true); }; cbSelectOS.Items.Add(e_OC.Linux); cbSelectOS.Items.Add(e_OC.Mac); cbSelectOS.Items.Add(e_OC.SteamOS); cbSelectOS.Items.Add(e_OC.Windows10); cbSelectOS.Items.Add(e_OC.Windows7_8); cbSelectOS.Items.Add(e_OC.WindowsXP); }