private void ToggleTrack(object sender, EventArgs e) { if (!(sender is PictureBox)) { return; } int index = 0; if (!int.TryParse((sender as Control).Name, out index)) { return; } Task task = buttonTasks[index]; if (!TaskManager.IsTracked(index)) { (sender as PictureBox).Image = task.GetImage(); textBoxes[index].Enabled = true; TaskManager.ChangeTracked(index, true); } else { (sender as PictureBox).Image = task.GetImage().ToGrayscale(); textBoxes[index].Enabled = false; TaskManager.ChangeTracked(index, false); } }
private void CreateTask(Task task) { lock (controlLock) { int y = taskControls.Count * (TaskSize + VerticalPadding); PictureBox pictureBox = new PictureBox(); pictureBox.Size = new Size(TaskSize, TaskSize); pictureBox.Image = task.GetImage(); if (pictureBox.Image.Width < pictureBox.Width && pictureBox.Image.Height < pictureBox.Height) { pictureBox.SizeMode = PictureBoxSizeMode.CenterImage; } else { pictureBox.SizeMode = PictureBoxSizeMode.Zoom; } pictureBox.Location = new Point(2, y); pictureBox.BackColor = Color.Transparent; int killCount = TaskManager.GetKillCount(task.id); Label label = new Label(); label.Text = killCount.ToString(); label.Location = new Point(TaskSize + 6, y); label.Size = new Size(this.Width - TaskSize - 4, TaskSize); label.BackColor = Color.Transparent; label.Font = font; label.TextAlign = ContentAlignment.MiddleCenter; label.ForeColor = killCount >= task.count ? StyleManager.TaskTrackerForeColorCompleted : StyleManager.TaskTrackerForeColor; this.Controls.Add(label); this.Controls.Add(pictureBox); trackedTasks.Add(task); taskControls.Add(task, new List<Control> { label, pictureBox }); this.parentHUD.Size = new Size(this.Size.Width, y + TaskSize); } }
private void CreateTask(Task task) { lock (controlLock) { int y = taskControls.Count * (TaskSize + VerticalPadding); PictureBox pictureBox = new PictureBox(); pictureBox.Size = new Size(TaskSize, TaskSize); pictureBox.Image = task.GetImage(); if (pictureBox.Image.Width < pictureBox.Width && pictureBox.Image.Height < pictureBox.Height) { pictureBox.SizeMode = PictureBoxSizeMode.CenterImage; } else { pictureBox.SizeMode = PictureBoxSizeMode.Zoom; } pictureBox.Location = new Point(2, y); pictureBox.BackColor = Color.Transparent; int killCount = TaskManager.GetKillCount(task.id); Label label = new Label(); label.Text = killCount.ToString(); label.Location = new Point(TaskSize + 6, y); label.Size = new Size(this.Width - TaskSize - 4, TaskSize); label.BackColor = Color.Transparent; label.Font = font; label.TextAlign = ContentAlignment.MiddleCenter; label.ForeColor = killCount >= task.count ? StyleManager.TaskTrackerForeColorCompleted : StyleManager.TaskTrackerForeColor; this.Controls.Add(label); this.Controls.Add(pictureBox); trackedTasks.Add(task); taskControls.Add(task, new List <Control> { label, pictureBox }); this.parentHUD.Size = new Size(this.Size.Width, y + TaskSize); } }