diff --git a/Reseter2/Form1.Designer.cs b/Reseter2/Form1.Designer.cs index ef585ea..472c0c5 100644 --- a/Reseter2/Form1.Designer.cs +++ b/Reseter2/Form1.Designer.cs @@ -44,6 +44,8 @@ this.tabPage2 = new System.Windows.Forms.TabPage(); this.label2 = new System.Windows.Forms.Label(); this.bt_resetAll = new System.Windows.Forms.Button(); + this.checkControl1 = new Reseter2.CheckControl(); + this.treeView1 = new Reseter2.NewTreeView(); this.imageList1 = new System.Windows.Forms.ImageList(this.components); this.imageList2 = new System.Windows.Forms.ImageList(this.components); this.tabPage3 = new System.Windows.Forms.TabPage(); @@ -57,6 +59,9 @@ this.sm_RebootItem = new System.Windows.Forms.ToolStripMenuItem(); this.sm_SaveItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage4 = new System.Windows.Forms.TabPage(); + this.settingRebootControl1 = new Reseter2.Setting.SettingRebootControl(); + this.settingSCCMControl1 = new Reseter2.Setting.SettingSCCMControl(); + this.settingWordsControl1 = new Reseter2.Setting.SettingWordsControl(); this.button4 = new System.Windows.Forms.Button(); this.tabPage5 = new System.Windows.Forms.TabPage(); this.pictureBox1 = new System.Windows.Forms.PictureBox(); @@ -64,11 +69,6 @@ this.cm_words = new System.Windows.Forms.ContextMenuStrip(this.components); this.WordsReboot = new System.Windows.Forms.ToolStripMenuItem(); this.tb_comp = new System.Windows.Forms.TextBox(); - this.checkControl1 = new Reseter2.CheckControl(); - this.treeView1 = new Reseter2.NewTreeView(); - this.settingRebootControl1 = new Reseter2.Setting.SettingRebootControl(); - this.settingSCCMControl1 = new Reseter2.Setting.SettingSCCMControl(); - this.settingWordsControl1 = new Reseter2.Setting.SettingWordsControl(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); this.statusStrip1.SuspendLayout(); @@ -195,7 +195,6 @@ this.flowLayoutPanel1.Size = new System.Drawing.Size(396, 657); this.flowLayoutPanel1.TabIndex = 0; this.flowLayoutPanel1.WrapContents = false; - this.flowLayoutPanel1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.tabControl1_MouseClick); // // tabPage2 // @@ -233,6 +232,35 @@ this.bt_resetAll.UseVisualStyleBackColor = false; this.bt_resetAll.Click += new System.EventHandler(this.bt_resetAll_Click); // + // checkControl1 + // + this.checkControl1.Location = new System.Drawing.Point(14, 7); + this.checkControl1.Name = "checkControl1"; + this.checkControl1.Size = new System.Drawing.Size(18, 18); + this.checkControl1.TabIndex = 2; + // + // treeView1 + // + this.treeView1.Dock = System.Windows.Forms.DockStyle.Bottom; + this.treeView1.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.treeView1.HideSelection = false; + this.treeView1.ImageIndex = 0; + this.treeView1.ImageList = this.imageList1; + this.treeView1.ImeMode = System.Windows.Forms.ImeMode.NoControl; + this.treeView1.Indent = 27; + this.treeView1.ItemHeight = 24; + this.treeView1.Location = new System.Drawing.Point(3, 32); + this.treeView1.Name = "treeView1"; + this.treeView1.SelectedImageIndex = 0; + this.treeView1.ShowLines = false; + this.treeView1.ShowNodeToolTips = true; + this.treeView1.Size = new System.Drawing.Size(396, 653); + this.treeView1.StateImageList = this.imageList2; + this.treeView1.TabIndex = 0; + this.treeView1.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.treeView1_AfterCheck); + this.treeView1.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.treeView1_NodeMouseClick); + this.treeView1.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.treeView1_NodeMouseDoubleClick); + // // imageList1 // this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream"))); @@ -377,7 +405,27 @@ this.tabPage4.TabIndex = 3; this.tabPage4.Text = "Настройки"; this.tabPage4.UseVisualStyleBackColor = true; - this.tabPage4.MouseClick += new System.Windows.Forms.MouseEventHandler(this.tabControl1_MouseClick); + // + // settingRebootControl1 + // + this.settingRebootControl1.Location = new System.Drawing.Point(6, 299); + this.settingRebootControl1.Name = "settingRebootControl1"; + this.settingRebootControl1.Size = new System.Drawing.Size(391, 130); + this.settingRebootControl1.TabIndex = 7; + // + // settingSCCMControl1 + // + this.settingSCCMControl1.Location = new System.Drawing.Point(6, 115); + this.settingSCCMControl1.Name = "settingSCCMControl1"; + this.settingSCCMControl1.Size = new System.Drawing.Size(391, 178); + this.settingSCCMControl1.TabIndex = 6; + // + // settingWordsControl1 + // + this.settingWordsControl1.Location = new System.Drawing.Point(6, 6); + this.settingWordsControl1.Name = "settingWordsControl1"; + this.settingWordsControl1.Size = new System.Drawing.Size(391, 103); + this.settingWordsControl1.TabIndex = 5; // // button4 // @@ -400,7 +448,6 @@ this.tabPage5.TabIndex = 4; this.tabPage5.Text = "О программе"; this.tabPage5.UseVisualStyleBackColor = true; - this.tabPage5.MouseClick += new System.Windows.Forms.MouseEventHandler(this.tabControl1_MouseClick); // // pictureBox1 // @@ -443,59 +490,6 @@ this.tb_comp.MouseClick += new System.Windows.Forms.MouseEventHandler(this.tb_comp_MouseClick); this.tb_comp.TextChanged += new System.EventHandler(this.cb_comp_TextUpdate); this.tb_comp.Enter += new System.EventHandler(this.tb_comp_Enter); - this.tb_comp.Leave += new System.EventHandler(this.tb_comp_Leave); - this.tb_comp.MouseCaptureChanged += new System.EventHandler(this.control_MouseCaptureChanged); - // - // checkControl1 - // - this.checkControl1.Location = new System.Drawing.Point(14, 7); - this.checkControl1.Name = "checkControl1"; - this.checkControl1.Size = new System.Drawing.Size(18, 18); - this.checkControl1.TabIndex = 2; - // - // treeView1 - // - this.treeView1.Dock = System.Windows.Forms.DockStyle.Bottom; - this.treeView1.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); - this.treeView1.HideSelection = false; - this.treeView1.ImageIndex = 0; - this.treeView1.ImageList = this.imageList1; - this.treeView1.ImeMode = System.Windows.Forms.ImeMode.NoControl; - this.treeView1.Indent = 27; - this.treeView1.ItemHeight = 24; - this.treeView1.Location = new System.Drawing.Point(3, 32); - this.treeView1.Name = "treeView1"; - this.treeView1.SelectedImageIndex = 0; - this.treeView1.ShowLines = false; - this.treeView1.ShowNodeToolTips = true; - this.treeView1.Size = new System.Drawing.Size(396, 653); - this.treeView1.StateImageList = this.imageList2; - this.treeView1.TabIndex = 0; - this.treeView1.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.treeView1_AfterCheck); - this.treeView1.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.treeView1_NodeMouseClick); - this.treeView1.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.treeView1_NodeMouseDoubleClick); - this.treeView1.MouseCaptureChanged += new System.EventHandler(this.treeView1_MouseCaptureChanged); - // - // settingRebootControl1 - // - this.settingRebootControl1.Location = new System.Drawing.Point(6, 299); - this.settingRebootControl1.Name = "settingRebootControl1"; - this.settingRebootControl1.Size = new System.Drawing.Size(391, 130); - this.settingRebootControl1.TabIndex = 7; - // - // settingSCCMControl1 - // - this.settingSCCMControl1.Location = new System.Drawing.Point(6, 115); - this.settingSCCMControl1.Name = "settingSCCMControl1"; - this.settingSCCMControl1.Size = new System.Drawing.Size(391, 178); - this.settingSCCMControl1.TabIndex = 6; - // - // settingWordsControl1 - // - this.settingWordsControl1.Location = new System.Drawing.Point(6, 6); - this.settingWordsControl1.Name = "settingWordsControl1"; - this.settingWordsControl1.Size = new System.Drawing.Size(391, 103); - this.settingWordsControl1.TabIndex = 5; // // Form1 // diff --git a/Reseter2/Form1.cs b/Reseter2/Form1.cs index 192ba6f..4b10e23 100644 --- a/Reseter2/Form1.cs +++ b/Reseter2/Form1.cs @@ -30,7 +30,7 @@ namespace Reseter2 public delegate void updateSetting(); public event updateSetting UpdateSetting; private ListBox ListComp; - private bool listFocus; + private IComp CompSelected = null; public Form1() { @@ -59,16 +59,9 @@ namespace Reseter2 WordsList.MainCategory = SGlobalSetting.LoadWords(); ListComp = new ListBox(); this.Controls.Add(ListComp); - ListComp.LostFocus += tb_comp_Leave; ListComp.GotFocus += tb_comp_Enter; - - // ListComp.Enter += tb_comp_Enter; - // ListComp.MouseClick += tb_comp_MouseClick; - - - InitializeComponent(); this.Save += settingWordsControl1.Save; this.Save += settingSCCMControl1.Save; @@ -84,7 +77,10 @@ namespace Reseter2 ListComp.Location = new Point(tb_comp.Location.X, tb_comp.Location.Y + tb_comp.Height); ListComp.Width = tb_comp.Width; ListComp.Visible = false; - + ListComp.Height = ListComp.ItemHeight * 2; + ListComp.Items.Add("Введите запрос"); + ListComp.SelectedIndexChanged += ListComp_ChangeIndex; + ListComp.Enabled = false; //tb_comp.Controls.Add(ListComp); @@ -115,19 +111,31 @@ namespace Reseter2 private void bt_reset_Click(object sender, EventArgs e) { - //if(cb_comp.SelectedIndex < 0) - //{ - // Reseter.AddTask(cb_comp.Text); - //} - //else - //{ - // Reseter.AddTask(SSeaher.seaherMetod.Result(cb_comp.SelectedIndex)); - //} - //cb_comp.SelectedIndex = -1; - //cb_comp.Text = ""; - - - tabControl1.SelectedIndex = 0; + if (CompSelected == null) + { + DialogResult result = MessageBox.Show("Перезагрузить ПК: " + tb_comp.Text, "Создание новой задачи", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); + if (result == DialogResult.Yes) + { + Reseter.AddTask(tb_comp.Text); + tabControl1.SelectedIndex = 0; + ListComp.SelectedIndex = -1; + tb_comp.Text = ""; + tabControl1.SelectedIndex = 0; + } + + } + else + { + DialogResult result = MessageBox.Show("Перезагрузить ПК: " + CompSelected.GetNetNameStr(), "Создание новой задачи", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); + if (result == DialogResult.Yes) + { + Reseter.AddTask(CompSelected); + tabControl1.SelectedIndex = 0; + ListComp.SelectedIndex = -1; + tb_comp.Text = ""; + tabControl1.SelectedIndex = 0; + } + } } private void timer1_Tick(object sender, EventArgs e) @@ -317,10 +325,6 @@ namespace Reseter2 } } - private void treeView1_DoubleClick(object sender, EventArgs e) - { - - } private void treeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e) { @@ -385,17 +389,6 @@ namespace Reseter2 } - - - private void treeView1_MouseCaptureChanged(object sender, EventArgs e) - { - // System.Diagnostics.Debug.WriteLine(sender.ToString()); - //TreeView tree = (TreeView)sender; - - //treeView1_treeViewChangeCheckBox(tree.Nodes[0]); - - } - private List treeViewCheckOn(TreeNode node) { List comps = new List(); @@ -483,11 +476,6 @@ namespace Reseter2 } } - private void label7_Click(object sender, EventArgs e) - { - - } - private void button4_Click(object sender, EventArgs e) { Save(); @@ -556,62 +544,41 @@ namespace Reseter2 private void cb_comp_TextUpdate(object sender, EventArgs e) { Cursor.Current = Cursors.Default; - if (sender is ComboBox) + if (sender is TextBox) { - ComboBox comboBox = (ComboBox)sender; - SSeaher.seaherMetod.Change(cb_comp_ResultUpdate, comboBox.Text); + TextBox textBox = (TextBox)sender; + SSeaher.seaherMetod.Change(cb_comp_ResultUpdate, textBox.Text); + CompSelected = null; } } - public void cb_comp_ResultUpdate(List Items) + public void cb_comp_ResultUpdate(List Items, bool enable) { - // if(cb_comp.Items.Count != Items.Count) cb_comp.DroppedDown = false; - // cb_comp.Items.Clear(); - // cb_comp.Items.AddRange(Items.ToArray()); - //// cb_comp.AutoCompleteCustomSource.Clear(); - //// cb_comp.AutoCompleteCustomSource.AddRange(Items.ToArray()); - - // // cb_comp.AutoCompleteMode = AutoCompleteMode.None; - // cb_comp.SelectionStart = cb_comp.Text.Length; - // cb_comp.DroppedDown = true; - - // cb_comp.SelectedIndex = -1; + if (ListComp.Items.Count != Items.Count) ListComp.Height = ListComp.ItemHeight * (Items.Count+1) ; + ListComp.Items.Clear(); + ListComp.Items.AddRange(Items.ToArray()); + ListComp.Enabled = enable; + // ListComp.Visible = true; + } private void tb_comp_Enter(object sender, EventArgs e) { - ListComp.Visible = true; + // ListComp.Visible = true; } private void tb_comp_MouseClick(object sender, MouseEventArgs e) { ListComp.Visible = true; - System.Console.WriteLine("click"); } - private void tb_comp_Leave(object sender, EventArgs e) - { - // System.Console.WriteLine("leav" + ListComp.Focused.ToString()); - // if (!listFocus) ListComp.Visible = false; - //listFocus = false; - // if (!ListComp.Focused) ListComp.Visible = false; - } - - private void tabControl1_MouseClick(object sender, MouseEventArgs e) + private void ListComp_ChangeIndex(object sender, EventArgs e) { - //ListComp.foc - // ListComp.Visible = false; - } - - private void control_MouseCaptureChanged(object sender, EventArgs e) - { - Point clickPoint = ListComp.PointToClient(Cursor.Position); - if (!ListComp.Bounds.Contains(clickPoint)) - { - // System.Console.WriteLine("out"); - } + CompSelected = SSeaher.seaherMetod.Result(ListComp.SelectedIndex); + tb_comp.Text = ListComp.SelectedItem.ToString(); + } protected override void WndProc(ref Message m) @@ -623,7 +590,7 @@ namespace Reseter2 { ListComp.Visible = false; } - System.Console.WriteLine("clickers"); + // System.Console.WriteLine("clickers"); } base.WndProc(ref m); diff --git a/Reseter2/Form1.resx b/Reseter2/Form1.resx index 6a82a06..55810ea 100644 --- a/Reseter2/Form1.resx +++ b/Reseter2/Form1.resx @@ -131,7 +131,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACk - UQAAAk1TRnQBSQFMAgEBCQEAAZgBBgGYAQYBGAEAARgBAAT/AREBAAj/AUIBTQE2BwABNgMAASgDAAFg + UQAAAk1TRnQBSQFMAgEBCQEAAaABBgGgAQYBGAEAARgBAAT/AREBAAj/AUIBTQE2BwABNgMAASgDAAFg AwABSAMAAQEBAAEQBgABNhIAAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/ AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/kAAB/wF/ Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/ @@ -490,7 +490,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABQ - CgAAAk1TRnQBSQFMAgEBAwEAATgBBQE4AQUBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + CgAAAk1TRnQBSQFMAgEBAwEAAUABBQFAAQUBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA diff --git a/Reseter2/Reseter2.csproj b/Reseter2/Reseter2.csproj index 4800d65..b8c1a28 100644 --- a/Reseter2/Reseter2.csproj +++ b/Reseter2/Reseter2.csproj @@ -102,6 +102,7 @@ + diff --git a/Reseter2/SCCMsearch/SQLconnector.cs b/Reseter2/SCCMsearch/SQLconnector.cs index ca9d02f..3ac61a2 100644 --- a/Reseter2/SCCMsearch/SQLconnector.cs +++ b/Reseter2/SCCMsearch/SQLconnector.cs @@ -12,7 +12,7 @@ namespace Reseter2.SCCMsearch { private MySql.Data.MySqlClient.MySqlConnection Connection; private IAuthType AuthType; - SQLconnector() + public SQLconnector() { if (SGlobalSetting.settingSCCM.windowsAuth) { diff --git a/Reseter2/Seacher/ISeaherMetod.cs b/Reseter2/Seacher/ISeaherMetod.cs index 3897436..cbf9fad 100644 --- a/Reseter2/Seacher/ISeaherMetod.cs +++ b/Reseter2/Seacher/ISeaherMetod.cs @@ -11,5 +11,8 @@ namespace Reseter2.Seacher { public void Change(ResultUpdate sender, string seach); public IComp Result(int index); + public void Activate(); + public void Deactivate(); + } } diff --git a/Reseter2/Seacher/SSeaher.cs b/Reseter2/Seacher/SSeaher.cs index da3a9f7..2a1c8d5 100644 --- a/Reseter2/Seacher/SSeaher.cs +++ b/Reseter2/Seacher/SSeaher.cs @@ -14,7 +14,7 @@ namespace Reseter2.Seacher { if(SGlobalSetting.settingSCCM.on) { - + seaherMetod = new SeachSCCM(); } else { diff --git a/Reseter2/Seacher/SeachSCCM.cs b/Reseter2/Seacher/SeachSCCM.cs new file mode 100644 index 0000000..55b7233 --- /dev/null +++ b/Reseter2/Seacher/SeachSCCM.cs @@ -0,0 +1,99 @@ +using MySql.Data.MySqlClient; +using MySqlX.XDevAPI.Relational; +using Reseter2.SCCMsearch; +using Reseter2.Setting; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using static Reseter2.Seacher.SeahcLocal; + +namespace Reseter2.Seacher +{ + internal class SeachSCCM : ISeaherMetod + { + private MySql.Data.MySqlClient.MySqlConnection Connection; + private IAuthType AuthType; + private ResultUpdate Update; + private bool enable; + public SeachSCCM() + { + if (SGlobalSetting.settingSCCM.windowsAuth) + { + AuthType = new AuthWin(); + } + else + { + AuthType = new AuthLogin(); + } + + } + public void Change(ResultUpdate sender, string seach) + { + Activate(); + Update = sender; + if (seach.Length > 2) + { + + Update(ResultSeach(seach), enable); + } + else + { + List result = new List(); + result.Add("Введите запрос"); + Update(result, false); + } + } + public List ResultSeach(string seach) + { + + string sql = "SELECT * FROM " + SGlobalSetting.settingSCCM.dataBase + " WHERE pcname LIKE " + seach; + MySqlCommand sqlCom = new MySqlCommand(sql, Connection); + // Connection.Open(); + sqlCom.ExecuteNonQuery(); + MySqlDataAdapter dataAdapter = new MySqlDataAdapter(sqlCom); + DataTable dt = new DataTable(); + dataAdapter.Fill(dt); + + var myData = dt.Select(); + //for (int i = 0; i < myData.Length; i++) + //{ + // for (int j = 0; j < myData[i].ItemArray.Length; j++) + // richTextBox1.Text += myData[i].ItemArray[j] + " "; + // richTextBox1.Text += "\n"; + //} + return null; + } + public void Activate() + { + if (Connection == null) + { + string stringConnect = "server=" + SGlobalSetting.settingSCCM.server + ";database=" + SGlobalSetting.settingSCCM.dataBase + ";" + AuthType.AuthString(); + try + { + Connection = new MySql.Data.MySqlClient.MySqlConnection(stringConnect); + Connection.Open(); + } + catch + { + Console.WriteLine("Повторное бы подключение"); + } + } + + } + + public void Deactivate() + { + Connection.Close(); + Connection = null; + } + + public IComp Result(int Index) + { + return null; + } + } +} diff --git a/Reseter2/Seacher/SeahcLocal.cs b/Reseter2/Seacher/SeahcLocal.cs index b574d40..3f3c945 100644 --- a/Reseter2/Seacher/SeahcLocal.cs +++ b/Reseter2/Seacher/SeahcLocal.cs @@ -9,22 +9,23 @@ namespace Reseter2.Seacher { internal class SeahcLocal : ISeaherMetod { - internal delegate void ResultUpdate(List Item); + internal delegate void ResultUpdate(List Item, bool eneble); private ResultUpdate Update; - List comps = new List(); + private List comps = new List(); + private bool enable; public void Change(ResultUpdate sender, string seach) { Update = sender; if (seach.Length > 2) { - Update(ResultSeach(seach)); + Update(ResultSeach(seach), enable); } else { List result = new List(); result.Add("Введите запрос"); - Update(result); + Update(result,false); } } @@ -35,21 +36,37 @@ namespace Reseter2.Seacher List result = new List(); foreach(HistoryItem item in HistoryList.Hitem) { - if (item.NameNode().Contains(seach)) + if (item.NameNode().ToUpper().Contains(seach.ToUpper())) { - result.Add(item.NameNode()); - comps.Add(item.GetComp()); - ++i; - if (i>6) return result; + int y = 0; + foreach(string itemOk in result) + { + if (itemOk.ToUpper() == item.NameNode().ToUpper()) ++y; + } + if(y == 0) + { + result.Add(item.NameNode()); + comps.Add(item.GetComp()); + ++i; + enable = true; + if (i>6) return result; + } + } } - if(i == 0) result.Add("Ничего не найдено"); + if (i == 0) + { + enable = false; + result.Add("Ничего не найдено"); + } return result; } public IComp Result(int index) { return comps[index]; } + public void Activate() { } + public void Deactivate() { } } }