⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.cs

📁 Extended C/C++ Dynamic Memory Control And Debug Library
💻 CS
📖 第 1 页 / 共 2 页
字号:
            progressBar_500001.Value = (int)value;

            value = s_stats_Struct.s_1000001 * 100.0 / (double)total;
            proz_1000001.Text = value.ToString("0.00");
            progressBar_1000001.Value = (int)value;

            received_messages_info();
            break;
          }

          case XMEM_MSG_TEXT:
          {
            ++count_message;

            if (   (process_message_info == false)
                || (treeView1.Nodes.Count > limit_message_info)
               )
            {
              break;
            }

            string txt = Marshal.PtrToStringAnsi(dataStruct.lpData);
            string[] entries = txt.Split(delimiters1);

            TreeNode newNode = new TreeNode(entries[0]);
            for (int i = 1; i < entries.Length; ++i)
            {
              TreeNode newChildNode = new TreeNode(entries[i]);
              newNode.Nodes.Add(newChildNode);
            }
            treeView1.Nodes.Add(newNode);
            received_messages_info();
            break;
          }

          case XMEM_MSG_LOG:
          {
            ++count_log;

            if (   (process_log_info == false)
                || (dataGridView1.RowCount > limit_log_info)
               )
            {
              break;
            }

            string txt = Marshal.PtrToStringAnsi(dataStruct.lpData);
            string[] entries = txt.Split(delimiters2);

            DataGridViewRowCollection rows = dataGridView1.Rows;
            rows.Add(entries);
            received_messages_info();
            break;
          }

          default:
          {
            break;
          }
        }
      }

      //be sure to pass along all messages to the base also
      base.WndProc(ref message);
    }

    private void Form1_Load(object sender, EventArgs e)
    {

    }

    private void buttonClearCallStats_Click(object sender, EventArgs e)
    {
      clear_call_data();
    }

    private void buttonClearSizeStats_Click(object sender, EventArgs e)
    {
      clear_size_data();
    }

    private void clear_message_data()
    {
      treeView1.Nodes.Clear();
      count_message = 0;
      received_messages_info();
    }

    private void clear_log_data()
    {
      dataGridView1.Rows.Clear();
      count_log = 0;
      received_messages_info();
    }

    private void clear_call_data()
    {
      sum_progmem.Clear();
      act_progmem.Clear();
      total_progmem.Clear();
      total_memory.Clear();
      total_alloc.Clear();
      total_progalloc.Clear();
      total_alloc_call.Clear();
      total_realloc_call.Clear();
      total_expand_call.Clear();
      total_free.Clear();
      total_progfree.Clear();
      total_free_call.Clear();
      total_realloc_NULL.Clear();
      total_expand_NULL.Clear();
      malloc_call.Clear();
      calloc_call.Clear();
      realloc_call.Clear();
      expand_call.Clear();
      alloca_call.Clear();
      free_call.Clear();
      new_call.Clear();
      new_array_call.Clear();
      delete_call.Clear();
      delete_array_call.Clear();
      strdup_call.Clear();
      count_call_stats = 0;
      received_messages_info();
    }

    private void clear_size_data()
    {
      size_0.Clear();
      size_1.Clear();
      size_6.Clear();
      size_11.Clear();
      size_51.Clear();
      size_101.Clear();
      size_501.Clear();
      size_1001.Clear();
      size_5001.Clear();
      size_10001.Clear();
      size_50001.Clear();
      size_100001.Clear();
      size_500001.Clear();
      size_1000001.Clear();

      proz_0.Text = "0.00";
      proz_1.Text = "0.00";
      proz_6.Text = "0.00";
      proz_11.Text = "0.00";
      proz_51.Text = "0.00";
      proz_101.Text = "0.00";
      proz_501.Text = "0.00";
      proz_1001.Text = "0.00";
      proz_5001.Text = "0.00";
      proz_10001.Text = "0.00";
      proz_50001.Text = "0.00";
      proz_100001.Text = "0.00";
      proz_500001.Text = "0.00";
      proz_1000001.Text = "0.00";

      progressBar_0.Value = 0;
      progressBar_1.Value = 0;
      progressBar_6.Value = 0;
      progressBar_11.Value = 0;
      progressBar_51.Value = 0;
      progressBar_101.Value = 0;
      progressBar_501.Value = 0;
      progressBar_1001.Value = 0;
      progressBar_5001.Value = 0;
      progressBar_10001.Value = 0;
      progressBar_50001.Value = 0;
      progressBar_100001.Value = 0;
      progressBar_500001.Value = 0;
      progressBar_1000001.Value = 0;
      count_size_stats = 0;
      received_messages_info();
    }

    private void clear_all_data()
    {
      clear_message_data();
      clear_log_data();
      clear_call_data();
      clear_size_data();
      received_messages_info();
    }

    private void received_messages_info()
    {
      received_messages = "Received Messages: " +
                          "Message = " + count_message.ToString() + ", " +
                          "Log = " + count_log.ToString() + ", " +
                          "Call Statistics = " + count_call_stats.ToString() + ", " +
                          "Size Statistics = " + count_size_stats.ToString();
      msg_count_call_stats.Text = received_messages;
      msg_count_size_stats.Text = received_messages;
    }

    private void checkBoxProcessMessageInfo_CheckedChanged(object sender, EventArgs e)
    {
      process_message_info = (checkBoxProcessMessageInfo.CheckState == CheckState.Checked);
    }

    private void checkBoxProcessLogInfo_CheckedChanged(object sender, EventArgs e)
    {
      process_log_info = (checkBoxProcessLogInfo.CheckState == CheckState.Checked);
    }

    private void checkBoxProcessCallInfo_CheckedChanged(object sender, EventArgs e)
    {
      process_call_info = (checkBoxProcessCallInfo.CheckState == CheckState.Checked);
    }

    private void checkBoxProcessSizeInfo_CheckedChanged(object sender, EventArgs e)
    {
      process_size_info = (checkBoxProcessSizeInfo.CheckState == CheckState.Checked);
    }

    private void checkBoxProcessAllInfo_CheckedChanged(object sender, EventArgs e)
    {
      process_all_info = (checkBoxProcessAllInfo.CheckState == CheckState.Checked);

      if (process_all_info == true)
      {
        process_message_info = true;
        process_log_info = true;
        process_call_info = true;
        process_size_info = true;
      }
      else
      {
        process_message_info = false;
        process_log_info = false;
        process_call_info = false;
        process_size_info = false;
      }

      checkBoxProcessMessageInfo.Checked = process_message_info;
      checkBoxProcessLogInfo.Checked = process_log_info;
      checkBoxProcessCallInfo.Checked = process_call_info;
      checkBoxProcessSizeInfo.Checked = process_size_info;
    }

    private void buttonClearMessageInfo_Click(object sender, EventArgs e)
    {
      clear_message_data();
    }

    private void buttonClearLogInfo_Click(object sender, EventArgs e)
    {
      clear_log_data();
    }

    private void buttonClearCallInfo_Click(object sender, EventArgs e)
    {
      clear_call_data();
    }

    private void buttonClearSizeInfo_Click(object sender, EventArgs e)
    {
      clear_size_data();
    }

    private void buttonClearAllData_Click(object sender, EventArgs e)
    {
      clear_all_data();
    }

    private void textBoxMaxMessageCount_TextChanged(object sender, EventArgs e)
    {
      if (textBoxMaxMessageCount.Text.Length == 0)
      {
        textBoxMaxMessageCount.Text = "0";
      }

      new_limit_message_info = int.Parse(textBoxMaxMessageCount.Text);
    }

    private void buttonSetMaxMessageCount_Click(object sender, EventArgs e)
    {
      limit_message_info = new_limit_message_info;
      textBoxActualMaxMessageCount.Text = limit_message_info.ToString();
      treeView1.Nodes.Clear();
    }

    private void textBoxMaxLogCount_TextChanged(object sender, EventArgs e)
    {
      if (textBoxMaxLogCount.Text.Length == 0)
      {
        textBoxMaxLogCount.Text = "0";
      }

      new_limit_log_info = int.Parse(textBoxMaxLogCount.Text);
    }

    private void buttonSetMaxLogCount_Click(object sender, EventArgs e)
    {
      limit_log_info = new_limit_log_info;
      textBoxActualMaxLogCount.Text = limit_log_info.ToString();    
      dataGridView1.Rows.Clear();
    }

    private void buttonDefault_Click(object sender, EventArgs e)
    {
      limit_message_info = LIMIT_MESSAGE_INFO;
      textBoxActualMaxMessageCount.Text = limit_message_info.ToString();

      new_limit_message_info = LIMIT_MESSAGE_INFO;
      textBoxMaxMessageCount.Text = new_limit_message_info.ToString();

      limit_log_info = LIMIT_LOG_INFO;
      textBoxActualMaxLogCount.Text = limit_log_info.ToString();

      new_limit_log_info = LIMIT_LOG_INFO;
      textBoxMaxLogCount.Text = new_limit_log_info.ToString();
    }

    private void menuItemAbout_Click(object sender, System.EventArgs e)
    {
      AboutBox1 aboutBox = new AboutBox1();
      aboutBox.Show();
      int x_pos = Bounds.X;
      int y_pos = Bounds.Y;
      aboutBox.Location = new Point(x_pos + 100, y_pos + 100);
    }
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -