解决方案 »
- 未能找到类型或命名空间名称“CrystalDecisions”(是否缺少 using 指令或程序集引用?) 跪求解决啊!!!
- 弹出框多参数传递。。
- 100分!C#+UDP通信的,提示“远程主机强迫关闭了一个现有的连接”
- 我想问一下关于大数计算器的问题
- WindowsForm 问题
- 关于DataGridView编辑状态下点击Esc出错的问题,请高手解答
- 请问怎么将EXCEL文件导入到DRID中,或者让他成生一个表也行
- 对应消息WM_COPYDATA的结构体COPYDATASTRUCT在C#中如何定义?
- 请教动态的给按钮指定单击事件?
- 谁做过试题库方面的软件,给小弟点建议
- VS2010统计代码信息应用
- 跪求 《Visual C#数据库项目案例导航 》随书光盘代码
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
using System.Timers;namespace SimMonitor
{
public partial class Form1 : Form
{
private System.Timers.Timer m_refreshTimer;
private LPView[] m_LPviews; //210,110
private int m_interval;
private int m_exitCount;
LPView lp;
public Form1()
{
InitializeComponent();
//System.Diagnostics.Process[] proc = System.Diagnostics.Process.GetProcessesByName("QQMusic");
/*如果在构造函数中使用this.controls.add是对的*/ //lp = new LPView(proc[0], this, 100);
//lp.Location = new System.Drawing.Point(200, 10);
//lp.Size = new System.Drawing.Size(300, 300); //lp.Show();
//this.Controls.Add(lp);
} private void buttonOK_Click(object sender, EventArgs e)
{
try
{
m_interval = int.Parse(textBoxRate.Text);
if (m_interval <= 0)
{
throw new ArgumentNullException();
}
this.textBoxProcName.ReadOnly = true;
this.textBoxRate.ReadOnly = true; m_refreshTimer = new System.Timers.Timer(m_interval);
m_refreshTimer.AutoReset = true;
m_refreshTimer.Elapsed += this.CheckProcessStart;
m_refreshTimer.Enabled = true;
m_refreshTimer.Start();
}
catch (System.Exception ex)
{
MessageBox.Show("采样周期(秒)必须是正整数");
}
} private void CheckProcessStart(object sender, System.Timers.ElapsedEventArgs e)
{
Process[] processes = Process.GetProcessesByName(textBoxProcName.Text);
if (processes.Length == 0)
{
MessageBox.Show("进程 " + textBoxProcName + " 未开始运行");
return;
}
else
{
m_refreshTimer.Stop();
/* create new lpview */
for (int i = 0; i < m_LPviews.Length; i++)
{
m_LPviews[i] = new LPView(processes[i], this, i+1);
m_LPviews[i].Location = new System.Drawing.Point(195, 10 + i * 110);
m_LPviews[i].Size = new System.Drawing.Size(210, 110); m_LPviews[i].Show();
// MessageBox.Show("create success!");
this.Controls.Add(m_LPviews[i]);
[b]/*运行到这句就直接退出了*/ } /* delegate setting to refresh process information */
m_refreshTimer.Elapsed -= this.CheckProcessStart;
m_exitCount = 0;
textBoxStartTime.Text = processes[0].StartTime.ToString();
foreach (LPView lpview in m_LPviews)
{
m_refreshTimer.Elapsed += lpview.Refresh;
} m_refreshTimer.Start();
buttonRefresh.Enabled = true;
MessageBox.Show("DSDDDDD");
}
} public void ProcessExit(object sender, EventArgs e)
{
m_refreshTimer.Elapsed -= ((LPView)sender).Refresh;
m_exitCount++;
if (m_exitCount == m_LPviews.Length)
{
m_refreshTimer.Stop();
buttonRefresh.Enabled = false;
textBoxEndTime.Text = System.DateTime.Now.ToString();
}
}
}
}
this.Controls.Add(m_LPviews[i[b]]);
this.ResumeLayout(false);加上看看