
public static void WriteLog(string param1, string param2)
{
System.IO.File.AppendAllText(
logFileName, //掘知 日志文件名
string.Format("{0}\t{1}\t{2}", DateTime.Now, param1, param2), // 用制表符 \t 分隔字段
Encoding.Default)
}
调用的时候:
Program.WriteLog("添加", "添加的内容")
你可能在输出到显示窗体后加上Application.DoEvents(),当然这种方式,牺牲了速度,这是我这几天刚好写的的代码,让事件的输出在listbox上实时显示,
/// <summary>
/// 通过ping 获取IP地址,速度快,效率高
/// </summary>
/// <param name="IpHead">默认为192.168.0</param>
public void EnumComputers(string IPhead="192.168.0")
{
try 腔败{
for (int i = 1 i <= 255 i++)
{ Ping myPing
myPing = new Ping()
myPing.PingCompleted += new PingCompletedEventHandler(_myPing_PingCompleted)
string pingIP = IPhead + i.ToString()
myPing.SendAsync(pingIP, 肢圆启1000, null)//异步执行PING
Application.DoEvents()//相当于每次循环输出一次就处理所有的当前在消息队列中的Windows消息。
}
}
catch {}
}
private void _myPing_PingCompleted(object sender, PingCompletedEventArgs e)
{
try //如查PING成功就获取历如当前IP地址的信息
{ if (e.Reply.Status == IPStatus.Success)
{ IPHostEntry host = Dns.GetHostEntry(e.Reply.Address.ToString())
ipinfo myipinfo = new ipinfo()
myipinfo.ipaddress = e.Reply.Address.ToString()
myipinfo.hostname = host.HostName
myipinfo.iPAddresslist = host.AddressList
ipinfos.Add(myipinfo)
Console.WriteLine(e.Reply.Address.ToString() + "|" +myipinfo.hostname) listbox.Items.Add(myipinfo.hostname+"---"+myipinfo.ipaddress)
}
} catch { }
}
或者你可以用线程委托加回调相关知识来实现,
在winform项目中,打开工具箱,找到EventLog控件拖动到winform窗体,这时在窗体下生成EventLog控件实例右击EventLog1,在菜单中选择“属性”
在属性窗口中填写Source的值,码兄这个值就是事件查看器中的源纳模神
在窗体上双击,进入窗体加载事件,在这里写下事件日志,如图所示
运行工程,因为代码写在窗体加载事件里,所以工程运行后,日志就写到事件查看器了
打开控制面板,再双击管理工具,在管理工具列表洞亏下,找到事件查看器并双击
在打开的事件查看器中,展开windows日志,点击“应用程序”
在日志里,可以看到我们定义的mylog源
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)