怎样从数据库里动态读取数据记录作为contextMenu1的下拉菜单来链接相应的页面.请各位高手帮助一下,不够还可以加分,很急!很急! 我用的vs2003 winform
解决方案 »
- c# picturebox控件的放大问题求教!
- 请高手分析httpwatch抓取的post数据
- 请教,.net2.0+Access开发的网站速度慢有什么办法加快访问速度
- Remoting: MarshalByRefObject与Serializable的本质区别?
- System.ComponentModel.Design.Serialization.ContextStack类是干什么用的?
- 我申请了一个asp空间,请问,使用c#写的程序,能否在asp空间里被执行?
- (50分求)怎样获取机子的网卡物理地址并且根据该物理地址和用户名等信息按照某一算法生成一个序列号??完整程序
- 一个关于WMI的问题
- 如何快速调出托盘程序?
- 为什么当我调用了Socket.Close 后,客户端还是能够发信息给服务端?
- Dundas 控件的multiple primary Y-axis scales怎么设置
- 一个比较菜的问题: 社区可用分是以什么为根据增加的?
给你的思路,代码不好办
using System.Windows.Forms;
using System.Drawing;class useonpaint:Form
{
public useonpaint()
{;}
static void Main()
{
Application.Run(new useonpaint());
}
protected override void OnMouseUp(MouseEventArgs e)
{
if (e.Button == MouseButtons.Left) test(e);
}
private void test(MouseEventArgs e)
{
ContextMenu m = new ContextMenu();
this.ContextMenu= m; // Create MenuItem objects.
MenuItem menuItem1 = new MenuItem();
MenuItem menuItem2 = new MenuItem();
// Set the Text property.
menuItem1.Text = "New";
menuItem2.Text = "Open"; // Add menu items to the MenuItems collection.
m.MenuItems.Add(menuItem1);
m.MenuItems.Add(menuItem2);
Point position = new Point(e.X, e.Y);
m.Show(this,position);
}
}
这是上午写的一段静态生成菜单的方法 ,有兴趣的朋友可以看一看 但动态的如何生成呢
如何把数据库里的记录一个一个填充到contextMenu1里面呢?请路过的朋友多给一点宝贵的意见谢谢!!!
while (sdr.Read())
{
menuItem = new MenuItem();
menuItem.Text = sdr里相应字段的值;
m.MenuItems.Add(menuItem);
}
{
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"]);
}}
http://blog.csdn.net/alldj/archive/2007/04/13/1564072.aspx
这样的功能如何实现 最后一个问题解决了就马上结帖不过还是要谢谢路过的朋友们给出的提示
小弟不胜感激!!!
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.button1.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);
}还有一个问题 就是当点击按钮(btn)和小三角的时候都会弹出相同的菜单(contextMenu1)
我想让单击按钮的时候完成一个事件
单击小三角的时候完成另一个事件 如何区分我每次点击的是按钮还是小三角呢
请路人指点一下
谢谢
sdr是SqlDataReader MenuItem menuItem;
while (sdr.Read())
{
menuItem = new MenuItem();
menuItem.Text = sdr里相应字段的值;
m.MenuItems.Add(menuItem);
}
这个可以理解一下,,没用到什么复杂的技术。
专注于自动提交,如发贴机资源采集器等网络营销软件的开发及相关领域如验证码识别技术。
QQ群号:24733057
还有一个问题:
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.button1.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);
}但有一个问题 就是当点击按钮(btn)和小三角的时候都会弹出相同的菜单(contextMenu1)
这段代码是在按钮上再添加一个小三角 我想让单击按钮的时候完成一个事件
单击小三角的时候完成另一个事件 如何区分我每次点击的是按钮还是小三角呢
谢谢
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);
}
}然后用这个类就行了。