如何在C#中创建上下文菜单

时间:2012-05-30 18:07:45

标签: c# winforms visual-studio-2010 contextmenu

我想使用C#创建一个上下文菜单,它将显示在节点旁边,类似于Visual Studio中的内容:

我现在的代码导致主窗体闪烁。

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;
        }
    }            
}

3 个答案:

答案 0 :(得分:21)

为什么不简单地使用Form.ShowDialog

来自MSDN

Form.ShowDialog方法

  

将表单显示为模式对话框。

答案 1 :(得分:1)

您应该设置treeView1.ContextMenu而不是您正在采取的方法。

答案 2 :(得分:0)

您应该阅读并尝试ContextMenu控制c#。我认为它将解决您的问题,而不是您使用的技术......或者使用myform.showdialog();setbounds()方法。