Пример #1
0
        /// <summary>Происходит при изменении значения ячейки грида с весами
        /// </summary>
        void dgv_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            var dgv = sender as DataGridView;

            if (dgv.Columns[e.ColumnIndex].Name == "Sum")
            {
                var themeName = (dgv.Parent as TabPage).Tag.ToString();
                var stem      = dgv.Rows[e.RowIndex].Cells["Stem"].Value.ToString();
                SetTabPageCaption(themeName, dgv.Parent as TabPage, dgv);
                dgv.Rows[e.RowIndex].Cells["Status"].Value = WordStatusText.GetText(_tc.GetWordStatus(themeName, stem));
            }
        }
Пример #2
0
        void dgv_MouseClick(object sender, MouseEventArgs e)
        {
            var dgv = sender as DataGridView;

            if (e.Button == MouseButtons.Right)             // если правой кнопкой
            {
                _dgvContextClick = dgv;
                DataGridView.HitTestInfo hitTestInfo = dgv.HitTest(e.X, e.Y);
                if (hitTestInfo.Type == DataGridViewHitTestType.Cell)
                {
                    var rowIdx   = hitTestInfo.RowIndex;
                    var row      = dgv.Rows[rowIdx];
                    var wordStem = row.Cells["Stem"].Value;
                    dgv.ClearSelection();
                    row.Selected = true;

                    ContextMenuStrip cm = new ContextMenuStrip();

                    cm.Items.Add(WordStatusText.GetText(WordStatus.WordNotInTheme), null, DeleteWord);
                    cm.Items.Add(WordStatusText.GetText(WordStatus.WordAreIgnored), null, IgnoreWord);
                    cm.Items.Add(WordStatusText.GetText(WordStatus.WordInTheme), null, AddWord);
                    cm.Items.Add(WordStatusText.GetText(WordStatus.WordInThemeLexicalized), null, LexicalizedWord);

                    var status = _tc.GetWordStatus(CurrentTheme, CurrentWord);
                    foreach (var item in cm.Items.Cast <ToolStripItem>())
                    {
                        item.Click += OnChangeStatus;
                    }
                    foreach (var item in cm.Items.Cast <ToolStripItem>().Where(i => i.Text == WordStatusText.GetText(status)))
                    {
                        item.BackColor = Color.Aqua;
                    }
                    cm.Show(dgv, new Point(e.X, e.Y));
                }
            }
        }
Пример #3
0
        private void OnChangeStatus(object sender, EventArgs e)
        {
            var themeName = CurrentTheme;
            var stem      = CurrentWord;

            _dgvContextClick.SelectedRows.Cast <DataGridViewRow>().Single().Cells["Status"].Value = WordStatusText.GetText(_tc.GetWordStatus(themeName, stem));
        }