日期:2014-05-19  浏览次数:20905 次

怎样从数据库里动态读取数据记录作为contextMenu1的下拉菜单来链接相应的页面(vs2003 winform)
怎样从数据库里动态读取数据记录作为contextMenu1的下拉菜单来链接相应的页面.请各位高手帮助一下,不够还可以加分,很急!很急!  

我用的vs2003   winform

------解决方案--------------------
将 数据库的记录先提取出来, 然后针对每个记录进行使用代码动态生成一个菜单项,添加到contextMenu1中去就可以了吧!!
------解决方案--------------------
读取内容——动态生成菜单项——注册菜单click事件——加入contextMenu1
给你的思路,代码不好办
------解决方案--------------------
很简单啊:

sdr是SqlDataReader

MenuItem menuItem;
while (sdr.Read())
{
menuItem = new MenuItem();
menuItem.Text = sdr里相应字段的值;
m.MenuItems.Add(menuItem);
}
------解决方案--------------------
public void LoadMenuBase(MenuItem mItem)
{
DataView dv=ds.Tables[0].DefaultView;
for(int intNum=0;intNum <=dv.Count-1;intNum++)
{
MenuItem item=new MenuItem();
item.Text=dv[intNum][ "sBaseName "].ToString();
item.Click+=new EventHandler(BaseItem_Click);
mItem.MenuItems.Add(item);
htState.Add(item.Index,dv[intNum][ "sBaseCode "]);
}

}
------解决方案--------------------
我是把数据存在XML文件里,也是动态生成菜单和事件,自己看吧,大同小异的。
http://blog.csdn.net/alldj/archive/2007/04/13/1564072.aspx
------解决方案--------------------
如果没有好的方法,你可以变通一下自己做个控件:一个button,右边紧挨者再加一个有个三角形标记图片的小按钮,小按钮单击时弹出菜单,主按钮单击时做另外的事情
------解决方案--------------------
我觉得,你看vs怎么样生成菜单代码的,自己可以理解一下。
sdr是SqlDataReader

MenuItem menuItem;
while (sdr.Read())
{
menuItem = new MenuItem();
menuItem.Text = sdr里相应字段的值;
m.MenuItems.Add(menuItem);
}
这个可以理解一下,,没用到什么复杂的技术。

------解决方案--------------------
这个应该不难吧,从数据库读取记录,然后往MENU里面添加ITEM不就得了

--------------------------------------------
专注于自动提交,如发贴机资源采集器等网络营销软件的开发及相关领域如验证码识别技术。
QQ群号:24733057
------解决方案--------------------
本来就是两个按钮嘛!
btn.Click += new EventHandler(btn_Click);
button1.Click += new EventHandler(button1_Click);
都有各自的事件方法啊!

------解决方案--------------------
关键是你没有把问题表达清楚。
定义一个类
public class myButt : Button
{
public myButt()
{
///写添加另一个butt按钮的代码
Button btn = new Button();
btn.Size = new Size(18, 18);
btn.Location = new Point(this.button1.Width - btn.Width, this.button1.Height - btn.Height);
btn.Text = "6 ";
btn.FlatStyle = FlatStyle.Popup;
btn.Font = new Font( "Marlett ", 9);
btn.Click += new EventHandler(btn_Click);
this.Controls.Add(btn);
btn.Visible = true;
}

void btn_Click(object sender, EventArgs e)
{
ContextMenu cm = new ContextMenu();
cm.MenuItems.Add( "aa ", new EventHandler(this.menu_Click));
cm.MenuItems.Add( "bb ", new EventHandler(this.menu_Click));
cm.Show(this, this.PointToClient(Control.MousePosition));
}
private void menu_Click(object sender, EventArgs e)
{
MenuItem item = (MenuItem)sender;
Console.WriteLine(item.Text);
}
}

然后用这个类就行了。
------解决方案--------------------
学习