我正在使用Windows窗体应用程序来监视目录并将其中的文件移动到另一个目录.
目前它会将文件复制到另一个目录,但是当添加另一个文件时,它将以没有错误消息结束.有时它会在结束第三个文件之前复制两个文件.
这是因为我使用的是Windows窗体应用程序而不是控制台应用程序吗?有没有办法可以阻止程序结束并继续观看目录?
private void watch()
{
this.watcher = new FileSystemWatcher();
watcher.Path = path;
watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
| NotifyFilters.FileName | NotifyFilters.DirectoryName;
watcher.Filter = "*.*";
watcher.Changed += OnChanged;
watcher.EnableRaisingEvents = true;
}
private void OnChanged(object source, FileSystemEventArgs e)
{
//Copies file to another directory.
}
public void Dispose()
{
// avoiding resource leak
watcher.Changed -= OnChanged;
this.watcher.Dispose();
}
Run Code Online (Sandbox Code Playgroud) 我有一个BinarySearchTree由节点组成的节点,这些节点都是dataType学生的模板类,其中student是一个具有名称和等级的私有变量的类.
目前我可以打印树,在树中查找名称和/或等级,但我在从树中删除节点时遇到问题.
我试图删除所有年级<50(因此失败)的学生.
删除节点后,需要执行以下任一操作:
我对此的理解是,如果这是树:
1
/ \
2 3
/ \ /\
4 5 6 7
Run Code Online (Sandbox Code Playgroud)
如果2失败,即等级<50
你最终会得到
1
/ \
4 3
\ / \
5 6 7
Run Code Online (Sandbox Code Playgroud)
4是左分支中的最高元素.
如果这是树:
1
/ \
2 3
\ / \
5 6 7
Run Code Online (Sandbox Code Playgroud)
2失败了
你最终会得到
1
/ \
5 3
/ \
6 7
Run Code Online (Sandbox Code Playgroud)
如果这是树:
1
/ \
2 3
/ \ / \
4 5 6 7
Run Code Online (Sandbox Code Playgroud)
1失败了
你最终会得到
5
/ \
2 3
/ …Run Code Online (Sandbox Code Playgroud) 我试图用HTMLAgilityPack选择带有id属性的td的内部文本.
Html代码:
<td id="header1"> 5 </td>
<td id="header2"> 8:39pm </td>
<td id="header3"> 8:58pm </td>
...
Run Code Online (Sandbox Code Playgroud)
码:
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(data);
var nodes = doc.DocumentNode.SelectNodes("//td[@id='header1']");
if (nodes != null)
{
foreach (HtmlAgilityPack.HtmlNode node in nodes)
{
MessageBox.Show(node.InnerText);
}
}
Run Code Online (Sandbox Code Playgroud)
我一直得到空节点,因为我没有正确选择td标签,但无法弄清楚我做错了什么...
编辑:
我在header1和header2中犯了一个错误,但是有5个不同的td标签,标头为1到5.
将问题加载到我的列表视图中时出现问题.我可以让图像在大视图中工作,但不能在细节上工作,不太确定我做错了什么.
private void CreateList()
{
listView1.View = View.Details;
listView1.Columns.Add("Icon", -2, HorizontalAlignment.Center);
listView1.Columns.Add("Name", -2, HorizontalAlignment.Left);
imageList1.ImageSize = new Size(32, 32);
for (int i = 0; i < subKeys.Length; i++)
{
if (subKeys[i].Contains("App"))
{
imagePath = subKeys[i];
if (System.IO.File.Exists(imagePath))
{
imageList1.Images.Add(Image.FromFile(imagePath));
}
numberOfImages++;
}
}
listView1.StateImageList = this.imageList1;
}
Run Code Online (Sandbox Code Playgroud) 如何更改列表视图中特定列的颜色?
string[] row = { appID[i], "Launch Game"}; // more data to add
listView1.Items.Add(nameArray[i], i).SubItems.AddRange(row);
listView1.ForeColor = System.Drawing.Color.Blue;
Run Code Online (Sandbox Code Playgroud) 我试图在java bean中混洗一组双打,以便在JSP文件中使用.
在我的java bean的默认构造函数中,我有:
amounts = new double[] {0.5, 1, 1.5, 2, 2.5. 3, 3.5, 4};
Collections.shuffle(Arrays.asList(amounts));
Run Code Online (Sandbox Code Playgroud)
我可以调用bean的方法,但由于某种原因,amount数组保持不变,所以它要么不是shuffling,要么默认构造函数没有执行.没有错误被抛出,所以我相信它可能是构造函数没有执行但我无法弄清楚为什么.
在我的JSP中我使用:
<jsp:useBean id="myBean" class="logic.logicBean" scope = "session" />
Run Code Online (Sandbox Code Playgroud)
我想这样做,默认构造函数会执行,这是错误的吗?