ContextMenuStrip on close - C#
Формулировка задачи:
Пытаюсь сделать контекстное меню для datagridview, чтобы можно было скрывать столбцы. Не могу получить актуальное состояние отмеченных элементов по закрытию меню.
Выдает предыдущее состояние.
ContextMenuStrip dgvmenu = new ContextMenuStrip(); // код public Form1() { dgvmenu.Closed += dgvmenu_Closed; } //код foreach (DataGridViewColumn column in dataGridView1.Columns) { comboBox_sort.Items.Add(column.HeaderText); ToolStripMenuItem i = new ToolStripMenuItem(); i.CheckOnClick=true; i.Text = column.HeaderText; i.Checked = true; dgvmenu.Items.Add(i); } //код private void dataGridView1_MouseClick(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { int currentMouseOverRow = dataGridView1.HitTest(e.X, e.Y).RowIndex; dgvmenu.Show(dataGridView1, new Point(e.X, e.Y)); } } // код private void dgvmenu_Closed(Object sender, ToolStripDropDownClosedEventArgs e) { label1.Text = ""; foreach (ToolStripMenuItem i in dgvmenu.Items) { label1.Text += i.Checked.ToString() + " "; } }
Решение задачи: «ContextMenuStrip on close»
textual
Листинг программы
label1.Text = ""; foreach (ToolStripMenuItem i in dgvmenu.Items) { label1.Text += i.Checked.ToString() + " "; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д