单击一个按钮,我会检查是否打开了一个excel,是否弹出一条消息将其关闭-一旦关闭,就会调用以下代码:
1. Record all excel process IDs in a 哈希表;
2.将数据导出到excel电子表格;
3. Kill any excel processes that do not exist in the 哈希表.
在将数据导出到excel电子表格的开始,我有以下代码:
这种情况告诉我代码已经到了这一点,因为按钮几乎立即更改了颜色,并且文本从“创建输出”更改为“工作”。
但是,如果您打开了电子表格,并要求您将其关闭。 -关闭它之后...更改按钮和打开对话框之间的时间大约是10秒....如果单击输出时未打开Excel,则该时间大约是1纳秒。
下一行很简单:
这是一个对话框,似乎需要一段时间才能显示。
我尝试了一个断点,看它是否打算去做某事....但是不是,它只是挂了很长时间。
有什么技巧可以弄清楚为什么会有这样的延迟,这可能会导致解决问题?
下面是整个IF语句,以防万一我嵌套它的方式引起了问题。它是第一个DialogResult很慢-一旦触发,其余的就很好,没有延迟。
1. Record all excel process IDs in a 哈希表;
2.将数据导出到excel电子表格;
3. Kill any excel processes that do not exist in the 哈希表.
在将数据导出到excel电子表格的开始,我有以下代码:
C#:
OutPut.Text = "WORKING";
OutPut.BackColor = Color.DarkGreen;
这种情况告诉我代码已经到了这一点,因为按钮几乎立即更改了颜色,并且文本从“创建输出”更改为“工作”。
但是,如果您打开了电子表格,并要求您将其关闭。 -关闭它之后...更改按钮和打开对话框之间的时间大约是10秒....如果单击输出时未打开Excel,则该时间大约是1纳秒。
下一行很简单:
C#:
if (File.Exists(ctk1.EX1))
{
DialogResult dialogResult = MessageBox.Show
($"This will delete { ctk1.EX1 } are you sure?", "Delete Excel", MessageBoxButtons.YesNo);
这是一个对话框,似乎需要一段时间才能显示。
我尝试了一个断点,看它是否打算去做某事....但是不是,它只是挂了很长时间。
有什么技巧可以弄清楚为什么会有这样的延迟,这可能会导致解决问题?
下面是整个IF语句,以防万一我嵌套它的方式引起了问题。它是第一个DialogResult很慢-一旦触发,其余的就很好,没有延迟。
C#:
if (OutPut.Text == "CREATE OUTPUT")
{
OutPut.Text = "WORKING";
OutPut.BackColor = Color.DarkGreen;
if (File.Exists(ctk1.EX1))
{
DialogResult dialogResult = MessageBox.Show($"This will delete { ctk1.EX1 }, are you sure?", "Delete Excel", MessageBoxButtons.YesNo);
if (dialogResult == DialogResult.Yes)
{
File.Delete(ctk1.EX1);
MessageBox.Show("Daily Log Deleted");
}
else if (dialogResult == DialogResult.No)
{
OutPut.Text = "CREATE OUTPUT";
OutPut.BackColor = Color.Maroon;
return;
}
}
else
{
}