主要指不能直接显示在窗体中,但是可以如同显示在窗体中的控件一样使用。
1.Timer组件
System.Windows.Forms.Timer只有Tick事件
System.Timers.Timer只有Elapsed事件
Enabled属性:设置计时器是否有效,该属性值为True时,触发事件
Interval属性:计时时间间隔,以毫秒为单位
Start() 方法:开启计时器
Stop() 方法:关闭计时器
DataTime.Now:获取系统时间
2.BackgroundWorker控件
用于实行异步执行耗时操作的功能,会在另一个线程中运行。
示例:
backgroundWorker1.WorkerReportProgress = true;//报告进度更新
backgroundWorker1.WorkerSupportsCancellation = true;// 是否支持异步取消
在组件的DoWork事件中编写如下代码:
private void backgroundWorker1_DoWork(object sender,DowWorkEventArgs e)
{
for(int i=1;i<=10;++i)
{
if(backgroundWorker1.CancelllationPending==true)
{
e.Cancle = true;
break;
}
else
{
System.Threading.Sleep(500);
backgroundWorkder1.REportProgress(i*10);
}
}
}
在RunWorkercompleted事件中编写如下代码:
private void backgroundWorker1_RunWorkerCompleterd(object sender,SunWorkerCompleteEventArgs e)
{
if(!(e.Error==null))//异步操作期间发生错误
this.label2.Text = "Error: "+e.Error.Message;
else if(e.Cancelled)//异步操作取消
this.label2.Text = "Canceled";
else
this.albel2.Text = e.Result.ToString();
}
在ProgressChanged事件中编写如下代码:
private void backgroundWorker_ProgressChanged(object sender,ProgressChangedEventArgs e)
{
this.tbProgress.Value = e.ProgressPercentage;
this.label1.Text = e.ProgressPercentage.ToString()+"%";
}
在“开始”按钮的Click事件中编写如下代码:
private void buttonStart_Click(object sender,EventArgs e)
{
//判断是否进行异步操作
if(backgroundWorker1.IsBusy!=true)
backgroundWorker1.RunWorkerAsync();
}
在“取消”按钮的Click事件中编写如下代码:
private void buttonCancel_Click(object sender,EventArgs e)
{
//判断是否支持异步取消
if(backgroundWorker1.WorkerSupportsCancellation==true)
backgroundWorker1.CancelAsync();
}
3.EventLog组件
可以访问或自定义Windows事件日志
Log属性:获取或设置读取或写入的日志的日志名称。应用程序和服务使用Application日志,设备驱动程序使用System日志文件,当打开审核时,系统在security日志中生成成功审核事件和失败审核事件
Source属性:事件日志中的源名称,事件源指示用什么来记录事件,通常是应用程序的名称,如果应用程序非常大,则是应用程序子组件。
MachineName属性:获取或设置在其上读取或写入事件的计算机名称。如果连接到本地计算机上的日志,则不要求指定(“.”)
Entries() 属性:获取事件日志的内容,该属性为只读的
Exists() 方法:确定指定的日志是否存在
WriteEntry() 方法:将项写入事件日志
4.Process组件
Id属性:获取关联进程的唯一标识
ProcessName属性:获取进程的名称,名不包含.exe扩展名或路径
PrivateMemorySize64属性:获取为关联进程分配的专用内存量
WorkingSet64属性:为关联进程分配的物理内存
GetProcesses()方法:创建新的Process组件的数组,并将它们与现有进程资源关联
GetProcessById()方法:
Kill()方法:可以立即停止关联的进程
private void Form1_load(object sender,EventArgs e)
{
Process[] process = Process.GetProcess();//获取系统进程
ListViewItem item;
foreach(Process p in process)
{
item = new ListViewItem(p.ProcessName.ToString());
item.Tag = p.Id;
listView1.Items.Add(item);
item.SubItems.AddRange(newstring[] {p.WorkingSet64.ToString(),p.BasePriority.ToString(),p.VirtualMemorySize64.ToString()});
}
}
在“结束进程”按钮的click事件中编写代码:
private void button1_Click(object sender,EventArgs e)
{
ListViewItem item = listView1.SelectedItems[0];
if(item==null)
return;
Process p = Process.GetProcessById(Convert.ToInt32(item.Tag));
if(p!=null)
{
if(MessageBox.Show("终止该进程?",“警告”,MessageBoxButtons.YesNo,MessageBoxIcon.Warning,MessageBoxDefaultButton.Button2)==DialogResult.Yes)
p.Kill();
}
}
5.ServiceControl组件
表示Windows服务并允许连接到正在运行或者已停止的服务、对其进行操作或获取有关它的信息,用于控件Windows服务的各种具体行为
6.ImageList
用于存储在窗体中其他控件使用的图像,可以存储任意大小的图像,但是在同一个ImageList中,图像大小必须相同。
7.FileSystemWatcher
用于监控文件的变化,可以监控一个特定的文件、一组文件、一个目录或整个驱动器发生的事件。
Path属性设置监控文件的位置或目录
Notify属性规定监控哪些内容
8.ErrorProvider
ErrorProvider控件可以在不打扰到用户的情况下向用户显示有错误发生。当验证用户在窗体中的输入或显示数据集内的错误时,一般要用到该控件。
常用属性及描述
BlinkRate | 获取或设置错误图标的闪烁速率 |
BlinkStyle | 获取或设置一个值,通过该值指示错误图标的闪烁时间 |
DataMember | 获取或设置数据源中r监视的列表 |
DataSource | 获取或设置ErrorProvider监视的数据源 |
Icon | 获取或设置Icon,当为控件设置了错误描述字符串时,该图标显示在控件旁边 |
常用方法及描述
BindToDataAndErrors | 提供在运行时同时设置DataSource和DataMember的方法 |
Clear | 清除与此控件关联的所有设置 |
GetError | 返回指定控件的当前错误描述字符串 |
GetIconAlignment | 获取一个值,通过该值指示错误图标相对控件放置位置 |
SetError | 设置指定控件的错误描述字符串 |
SetIconAlignment | 设置错误图标相对与控件的放置位置 |
最后欢迎大家访问我的个人网站: 1024s