示例#1
0
        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);
            }
        }
示例#2
0
        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);
            }
        }
示例#3
0
        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);
            }
        }