Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WinForms, .Net Framework Новый топик    Ответить
 Японский кроссворд (нанограмма)  [new]
jamix3d
Member

Откуда:
Сообщений: 5
Нужно дополнить код так, что бы при клике левой кнопкой мыши любая из клеток меняла свой цвет (на черный).
При клике правой кнопкой мыши в любой из клеток появляется "Х".

Сетка реализована через элемент DataGridView.

private void Form1_Load(object sender, EventArgs e)
        {
            InitializeBoard();
        }
 
        private void InitializeBoard()
        {
            Board.Location = new Point(125, 125);
            Board.Size = new Size(223, 223);
            Board.BackgroundColor = Color.White;
 
            for (int i = 0; i < 10; i++)
            {
                Board.Rows.Add();
            }
 
            foreach (DataGridViewColumn column in Board.Columns)
            {
                column.Width = Board.Width / Board.Columns.Count;
            }
 
            for (int row = 0; row < Board.Rows.Count; row++)
            {
                for (int col = 0; col < Board.Columns.Count; col++)
                {
                    Board[col, row].ReadOnly = true;
                }
            }
        }
5 июн 19, 17:07    [21902772]     Ответить | Цитировать Сообщить модератору
 Re: Японский кроссворд (нанограмма)  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3062
Ну, да , показывайте
5 июн 19, 17:25    [21902795]     Ответить | Цитировать Сообщить модератору
 Re: Японский кроссворд (нанограмма)  [new]
jamix3d
Member

Откуда:
Сообщений: 5
Ролг Хупин, ?
5 июн 19, 17:33    [21902801]     Ответить | Цитировать Сообщить модератору
 Re: Японский кроссворд (нанограмма)  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3062
jamix3d
Ролг Хупин, ?


Вы пытались как-то реализовать? показывайте ваши попытки
6 июн 19, 10:52    [21903249]     Ответить | Цитировать Сообщить модератору
 Re: Японский кроссворд (нанограмма)  [new]
jamix3d
Member

Откуда:
Сообщений: 5
Пока что так.
Но результат не совсем устраивает, ибо при первом клике по любой клетке не проходит никаких изменений, при втором клике она все таки меняет свой цвет на черный, при последующих на белый/черный и т.д.
Так же пока не понятно как сделать "При клике правой кнопкой мыши в любой из клеток появляется "Х".".

P.S.
Могу сделать так что бы при клике левой кнопкой мыши клетка меняла свой цвет на черный, а при клике правой на белый, но не хочется отказываться от идеи сделать "Х".

        private void Board_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                if (Board.CurrentCell.Style.BackColor == Color.White)
                {
                    Board.CurrentCell.Style.BackColor = Color.Black;
                }

                else
                {
                    Board.CurrentCell.Style.BackColor = Color.White;
                }
            }
        }

        private void Board_SelectionChanged(object sender, EventArgs e)
        {
            Board.ClearSelection();
        }
6 июн 19, 14:16    [21903518]     Ответить | Цитировать Сообщить модератору
 Re: Японский кроссворд (нанограмма)  [new]
jamix3d
Member

Откуда:
Сообщений: 5
Ролг Хупин, показал вроде.
6 июн 19, 14:17    [21903522]     Ответить | Цитировать Сообщить модератору
 Re: Японский кроссворд (нанограмма)  [new]
Cat2
Member

Откуда: Petroskoi, Karjala
Сообщений: 145663
jamix3d,

Так добавьте в "else"
Board.CurrentCell.Value = "X";

Или Вы хотите рисованный крестик?
7 июн 19, 16:53    [21904731]     Ответить | Цитировать Сообщить модератору
 Re: Японский кроссворд (нанограмма)  [new]
jamix3d
Member

Откуда:
Сообщений: 5
Cat2,

Да, рисованный.
8 июн 19, 11:18    [21905097]     Ответить | Цитировать Сообщить модератору
Все форумы / WinForms, .Net Framework Ответить