コード例 #1
0
 /// <summary>
 /// Insere o processo no ListView listProcessos
 /// </summary>
 /// <param name="toadd"></param>
 private ListViewItem AddProcessToListView(Processo toadd)
 {
     ListViewItem item = new ListViewItem();
     item.Text = toadd.Pid.ToString();
     item.SubItems.Add(toadd.Name);
     item.SubItems.Add(toadd.Prio.ToString());
     item.SubItems.Add(toadd.Tempo_por_ciclo.ToString());
     item.SubItems.Add(toadd.Ciclo.ToString());
     item.SubItems.Add(toadd.Ciclos_executados.ToString());
     item.SubItems.Add("Parado");
     item.SubItems.Add("0");
     listProcessos.Items.Add(item);
     return item;
 }
コード例 #2
0
 /// <summary>
 /// Abre o FileDialog para selecionar o arquivo que contem os processos separa-os em suas respectivas listas
 /// </summary>
 private void SetFile()
 {
     OpenFileDialog open = new OpenFileDialog();
     open.Multiselect = false;
     if (open.ShowDialog() == DialogResult.OK)
     {
         if (listProcessos.Items.Count > 0)
         {
             DialogResult result = MessageBox.Show("Já existe processos na lista. Deseja substitui-los ?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
             if (result == DialogResult.Yes)
             {
                 listProcessos.Items.Clear();
                 motor = new ProcessManager();
             }
         }
         else motor = new ProcessManager();
         if (open.FileName.EndsWith("txt"))
         {
             using (StreamReader read = new StreamReader(open.FileName))
             {
                 string line;
                 while ((line = read.ReadLine()) != null)
                 {
                     string[] splt = line.Split(';');
                     try
                     {
                         Processo toadd = new Processo(int.Parse(splt[0]), splt[1], int.Parse(splt[2]), float.Parse(splt[3]), int.Parse(splt[4]));
                         motor.SetProcessToRightLine(toadd);
                         if (ListColors) SetRowColor(AddProcessToListView(toadd));
                         else AddProcessToListView(toadd);
                         UpdateCounters();
                     }
                     catch
                     {
                         MessageBox.Show("O arquivo informado não está no formato correto para leitura", "Format fail", MessageBoxButtons.OK, MessageBoxIcon.Error);
                         break;
                     }
                 }
                 read.Close();
                 motor.ClearAuxs();
                 lbllist.Text = "Processo listados " + motor.TotalCount();
             }
         }
     }
 }
コード例 #3
0
 /// <summary>
 /// Atualiza o ID e o nome do processo que esta em execução no momento
 /// </summary>
 /// <param name="aux"></param>
 private void UpdateInExecutionProcess(Processo aux)
 {
     item_to_execute = GetProcessInListView(aux);
     if (aux != null && item_to_execute != null)
     {
         lblid.Text = "ID:  " + aux.Pid;
         lblnome.Text = "Nome:  " + aux.Name;
         if (FollowProcess == true)
         {
             listProcessos.Select();
             item_to_execute.Selected = true;
             listProcessos.EnsureVisible(item_to_execute.Index);
         }
         else if (CheckInExecution == true)
         {
             listProcessos.Select();
             item_to_execute.Selected = true;
         }
     }
 }