日期:2014-05-18  浏览次数:20985 次

C#如何做菜单效果
就是右键点桌面,出现的那个菜单,有现成的控件吗?是不是应该使用menustrip做,改一些参数?

------解决方案--------------------
如果你是winform程序的话,在你的窗体里添加contextMenuStrip控件,在窗体里的contextMenuStrip属性里选择你添加的contextMenuStrip控件就关联上了。在contextMenuStrip的items里添加你的菜单选项
------解决方案--------------------
1楼说的很对,如果是C#Winform编程的话,是有现成的控件contextMenuStrip的,你添加进去,设置一下就OK了!
------解决方案--------------------
桌面右键菜单有什么特殊的吗,winform程序中contextMenuStrip就是,图标可以自己指定
------解决方案--------------------
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
ContextMenuStrip cms=new ContextMenuStrip();
Bitmap bm;
public Form1()
{
InitializeComponent();
}
private void Form1_MouseDown(object sender, MouseEventArgs e)
{

if (e.Button == MouseButtons.Right)
{
if (cms.Items.Count > 0)
{
cms.Items.Clear();
}
//带图表项
cms.Items.Add("tubiao", bm, new EventHandler(tubiao_Handler));
cms.Items.Add("mouseright1");
cms.Items.Add("-");
cms.Items.Add("mouseright2");
cms.Items.Add("-");
cms.Items.Add("mouseright3");
}
else
{
return;
}
//处理显示位置
int w = Width - e.X;
if (w < cms.Width)
{
cms.Show(this, e.X - cms.Width, e.Y);
}
else
{
cms.Show(this, e.X, e.Y);
}

}
public void tubiao_Handler(object sender, EventArgs e)
{
MessageBox.Show("this is tubiao", "tubiao", MessageBoxButtons.YesNo);
}
private void Form1_Load(object sender, EventArgs e)
{
cms = new ContextMenuStrip();
bm = new Bitmap("Resources/Icon1.ico");//图标存放位置
}


}
}