小编use*_*592的帖子

将参数传递给事件处理程序

我想List<string>使用我的事件传递我的参数

public event EventHandler _newFileEventHandler;
    List<string> _filesList = new List<string>();

public void startListener(string directoryPath)
{
    FileSystemWatcher watcher = new FileSystemWatcher(directoryPath);
    _filesList = new List<string>();
    _timer = new System.Timers.Timer(5000);
    watcher.Filter = "*.pcap";
    watcher.Created += watcher_Created;            
    watcher.EnableRaisingEvents = true;
    watcher.IncludeSubdirectories = true;
}

void watcher_Created(object sender, FileSystemEventArgs e)
{            
    _timer.Elapsed += new ElapsedEventHandler(myEvent);
    _timer.Enabled = true;
    _filesList.Add(e.FullPath);
    _fileToAdd = e.FullPath;
}

private void myEvent(object sender, ElapsedEventArgs e)
{
    _newFileEventHandler(_filesList, EventArgs.Empty);;
}
Run Code Online (Sandbox Code Playgroud)

从我的主要表格,我想得到这个列表:

void listener_newFileEventHandler(object sender, EventArgs e)
{

}
Run Code Online (Sandbox Code Playgroud)

c# winforms

16
推荐指数
2
解决办法
5万
查看次数

更改ListView中的列

我的应用程序包含ListView我正在处理的文件,有3列:文件名,长度和状态.在我的for循环中,我正在处理文件后文件,并希望在这种情况下将状态列从等待更改,这是开始到进程中的值.是否可以更改一列?

lvFiles是我的ListView

for (int i = 0; i < lvFiles.Items.Count; i++)
{
    //here i am do things with my file
}
Run Code Online (Sandbox Code Playgroud)

在这里我将文件添加到我的ListView中:

ListViewItem item = new ListViewItem(new string[] { new FileInfo(filePath).Name, duration, "Waiting" });
Run Code Online (Sandbox Code Playgroud)

c# winforms

6
推荐指数
1
解决办法
3627
查看次数

无法写入已关闭的TextWriter

我正在尝试将文本写入我的txt文件.第一次写入应用程序崩溃后出错

无法写入已关闭的TextWriter

我的列表包含浏览器打开的链接,我想将它们全部保存在txt文件中(如日志).

我的代码:

FileStream fs = new FileStream(
                    "c:\\linksLog.txt", FileMode.Append, FileAccess.Write);
StreamWriter sw = new StreamWriter(fs);

for (int i = 0; i < linksList.Count; i++)
{
    try
    {
        System.Diagnostics.Process.Start(browserType, linksList[i]);
    }
    catch (Exception) { }

    using (sw)
    {
        sw.WriteLine(linksList[i]);
        sw.Close();
    }

    Thread.Sleep((int)delayTime);

    if (!cbNewtab.Checked)
    {
        try
        {
            foreach (Process process in Process.GetProcesses())
            {
                if (process.ProcessName == getProcesses)
                {
                    process.Kill();
                }
            }
        }
        catch (Exception) { }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# text-files textwriter

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

c# ×3

winforms ×2

text-files ×1

textwriter ×1