我有一個C#應用程序,我動態填充,然後啓動一個名爲cmTestplan的上下文菜單。上下文菜單不會打開第一次點擊
private void cmTestplan_Opening(object sender, CancelEventArgs e)
{
if ((cmTestplan.SourceControl is TextBox) &&
(cmTestplan.SourceControl.Enabled == true) &&
(cmTestplan.SourceControl.Text != ""))
{
RightClickSetup(cmTestplan.SourceControl.Text);
cmTestplan.Show();
}
}
private void RightClickSetup(string Path)
{
this.UseWaitCursor = true;
cmTestplan.Items.Clear();
//Test for file or folder
if (Directory.Exists(Path) == true)
{
cmTestplan.Items.Add("Open folder");
this.UseWaitCursor = false;
}
else if (File.Exists(Path) == true)
{
cmTestplan.Items.Add("Open folder");
cmTestplan.Items.Add("Open file");
this.UseWaitCursor = false;
}
}
出於某種原因(我希望你細女士或先生們一個可能能夠提供)菜單未顯示在第一次與此cmTestplan相關聯的文本框我右鍵點擊。它會一直顯示在一個單一的右鍵單擊。
我試過註釋掉所有的文件/文件夾檢查,仍然得到了問題。
嘗試放置一個靜態菜單,看看它是否顯示正確。如果是這樣,請嘗試以小塊加回動態邏輯,以確切查看事件鏈中斷的情況(它聞起來像是一個異常,但我沒有看到任何可能拋出它的東西)。此外,在事件開始時設置一個斷點,並檢查您的條件所基於的屬性是否都具有期望值。 – 2011-04-05 14:13:18