private void Grid_MouseDown(object sender, MouseEventArgs e) { int y = (int)(((float)e.Y) * grdLife.Rows / grdLife.Height); int x = (int)(((float)e.X) * grdLife.Columns / grdLife.Width); switch (cboPresets.SelectedItem.ToString()) { case "Pixel": _lifeGame.ToggleCellState(x, y); break; case "Glider (NE)": _lifeGame.AddGlider(x, y, "ne", Width, Height); break; case "Glider (NW)": _lifeGame.AddGlider(x, y, "nw", Width, Height); break; case "Glider (SE)": _lifeGame.AddGlider(x, y, "se", Width, Height); break; case "Glider (SW)": _lifeGame.AddGlider(x, y, "sw", Width, Height); break; default: _lifeGame.ToggleCellState(x, y); break; } UpdateFormVisuals(); }