private void pictureBox1_MouseClick(object sender, MouseEventArgs e) { int X = Cursor.Position.X - this.DesktopLocation.X - Nanogram_Board.Location.X - 8; // Вычисляем позицию куда кликнули мышкой int Y = Cursor.Position.Y - this.DesktopLocation.Y - Nanogram_Board.Location.Y - 30; int X1 = X / Size_Box, Y1 = Y / Size_Box; //Определяем в какой квадратик мы попали курсором if (e.Button == MouseButtons.Left) //Если нажали левой кнопкой мыши { Nono_Board.Draw(X1, Y1); //Добавляем в массив текущую ячейку Nono_Board.ReDraw(Back, Size_Box); // перерисовываем пользовательский слой Nanogram_Board.Refresh(); } }
void Initialize() { Nanogram_Board.Height = Nano_Height * Size_Box + 1; Nanogram_Board.Width = Nano_Width * Size_Box + 1; Bitmap bBack = new Bitmap(Nano_Width * Size_Box + 1, Nano_Height * Size_Box + 1); // создаем битмап для рисования на заднем плане на 16 ячеек размера Size Bitmap bFront = new Bitmap(Nano_Width * Size_Box + 1, Nano_Height * Size_Box + 1); Back = Graphics.FromImage(bBack); Front = Graphics.FromImage(bFront); Nanogram_Board.BackgroundImage = bBack; Nanogram_Board.Image = bFront; Nanogram_Board.Refresh(); } // СМ. НоНОграм
} // СМ. НоНОграм void Draw_Board() { Pen blackPen = new Pen(Color.Black, 1); //Создаем кисть которой рисовать будем (Цвет, толщина) for (int i = 0; i <= Nano_Width; i++) { Front.DrawLine(blackPen, i * Size_Box, 0, i * Size_Box, Nano_Height * Size_Box); } for (int f = 0; f <= Nano_Height; f++) { Front.DrawLine(blackPen, 0, f * Size_Box, Nano_Width * Size_Box, f * Size_Box); } Nanogram_Board.Refresh(); // Обновляем рисунок в Пикчербоксе }