2012-05-30 43 views
3

我想創建一個快捷菜單,使用C#,將顯示旁邊類似於這裏發生在Visual Studio中的節點:如何創建在C#中的上下文菜單

我現在的代碼導致主窗體閃爍。

private void treeView1_MouseDown(object sender, MouseEventArgs e) 
{ 
    if (e.Button == MouseButtons.Right) 
    { 
     var myForm = new Form {Text = "My Form"}; 
     myForm.SetBounds(10, 10, 200, 200); 

     myForm.Show(); 
     // Determine if the form is modal. 
     if (myForm.Modal == false) 
     { 
      // Change borderstyle and make it not a top level window. 
      myForm.FormBorderStyle = FormBorderStyle.FixedToolWindow; 
      myForm.TopLevel = false; 
     } 
    }    
} 
+6

您在VS中顯示的內容不是模態,而是上下文菜單。你在找什麼? –

+0

那麼可能上下文菜單然後 –

回答

21

爲什麼不簡單地使用Form.ShowDialog

MSDN

Form.ShowDialog方法

顯示形式爲模式對話框。

+0

無法訪問靜態上下文中的非靜態方法ShowDailog,例外 –

+2

@atbyrd,在你的代碼片段中,你應該做的就是調用'myForm.ShowDialog()'。那樣有用嗎? –

1

你應該設置treeView1.ContextMenu而不是你採取的方法。

+0

感謝您的關注。 –

0

您應該閱讀並嘗試使用ContextMenu控制c#。我認爲它會解決您的問題,而不是您使用的技術.....或者使用其他方法,myform.showdialog();setbounds()方法。

相關問題