Esempio n. 1
0
        /// <summary>
        /// Очищення вкладки Піксель
        /// </summary>
        private void PixelClear()
        {
            // Забороняємо малювати маркер
            markerPix.Dozvil = false;

            // чистимо список маркерів
            markerPix.MarkerDict.Clear();

            // чистимо статусний рядок
            ClearStatusDown();

            if (img.imageCorect != null)
            {
                // Міняємо курсор на вид очікування
                this.Cursor = Cursors.AppStarting;

                // Відображаємо картинку
                PictureBoxPixel.Image = img.imageCorect;

                // оновлюємо таблицю маркерів
                TableShowPix(markerPix, img.imageCorect, dataGridViewPixel);

                // Повертаємо курсор назад
                this.Cursor = Cursors.Default;
            }

            // оновлення області для відобрадення маркера
            PictureBoxPixel.Refresh();
        }
Esempio n. 2
0
        /// <summary>
        /// Відбувається при видаленні рядків на вкладці Піксель
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void DataGridViewPixel_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e)
        {
            // видаляємо із словника маркери які були виділені в таблиці
            for (int i = 0; i < dataGridViewPixel.SelectedRows.Count; i++)
            {
                markerPix.MarkerDict.Remove(int.Parse(dataGridViewPixel.
                                                      SelectedRows[i].HeaderCell.Value.ToString()));
            }

            // сортування (перезаписуємо словник для нормального добавляння елементів в кінець)
            markerPix.MarkerDict = markerPix.MarkerDict.ToDictionary(x => x.Key, y => y.Value);

            // оновлюємо зображення
            PictureBoxPixel.Refresh();
        }
Esempio n. 3
0
        /// <summary>
        /// Відбувається коли нажимається кнопка миши
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void PictureBoxPixel_MouseDown(object sender, MouseEventArgs e)
        {
            // Керуємо відображенням курсора миші
            MouseForm(PictureBoxPixel);

            // ліва кнопка миши
            if ((PictureBoxPixel.Cursor == Cursors.Cross) &&
                (e.Button == MouseButtons.Left))
            {
                // перевірка точок
                if (markerPix.MarkerDict.Count > 0)
                {
                    // в пам'яті наявно більше одного маркера, перевіряємо чи наступний
                    // не збігається координатами із попередніми
                    foreach (Point i in markerPix.MarkerDict.Values)
                    {
                        if (!i.Equals(e.Location))
                        {
                            // якщо немає подібних то дозволяємо ставити маркер
                            markDozvilPix = true;
                        }
                        else
                        {
                            // якщо хоч один є забороняємо ставити і виходимо із циклу
                            markDozvilPix = false;
                            break;
                        }
                    }

                    // якщо є дозвіл на збереження маркера, то зберігаємо його
                    if (markDozvilPix)
                    {
                        // додавання елемента
                        markerPix.MarkerDict.Add(markerPix.MarkerDict.Last().Key + 1, e.Location);
                        // забороняємо зберігати маркер
                        markDozvilPix = false;
                    }
                }
                else
                {
                    // робоча область чиста, ставимо переший маркер
                    markerPix.MarkerDict.Add(0, e.Location);
                    // забороняємо зберігати маркер
                    markDozvilPix = false;
                    // дозволяємо малювати маркери
                    markerPix.Dozvil = true;
                }

                // оновлення області для відобрадення маркера
                PictureBoxPixel.Refresh();

                // оновлюємо таблицю маркерів
                if (img.imageCorect != null)
                {
                    TableShowPix(markerPix, img.imageCorect, dataGridViewPixel);
                }
            }

            // збереження координат мишки
            MouseSave(e, splitContainerPixel.Panel1.AutoScrollPosition);
        }