社区
C#
帖子详情
怎样从数据库里动态读取数据记录作为contextMenu1的下拉菜单来链接相应的页面(vs2003 winform)
zk911
2007-06-04 09:43:17
怎样从数据库里动态读取数据记录作为contextMenu1的下拉菜单来链接相应的页面.请各位高手帮助一下,不够还可以加分,很急!很急!
我用的vs2003 winform
...全文
488
23
打赏
收藏
怎样从数据库里动态读取数据记录作为contextMenu1的下拉菜单来链接相应的页面(vs2003 winform)
怎样从数据库里动态读取数据记录作为contextMenu1的下拉菜单来链接相应的页面.请各位高手帮助一下,不够还可以加分,很急!很急! 我用的vs2003 winform
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zk911
2007-06-13
打赏
举报
回复
一个button,右边紧挨者再加一个有个三角形标记的小按钮,小按钮单击时弹出菜单,主按钮单击时做另外的事情
这样的按钮怎么做
谢谢
killer_liqiao
2007-06-13
打赏
举报
回复
学习
sowenxiong
2007-06-13
打赏
举报
回复
关键是你没有把问题表达清楚。
定义一个类
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);
}
}
然后用这个类就行了。
zk911
2007-06-13
打赏
举报
回复
自己顶!
请道上的朋友帮忙看一下
小弟不胜感激
sowenxiong
2007-06-08
打赏
举报
回复
本来就是两个按钮嘛!
btn.Click += new EventHandler(btn_Click);
button1.Click += new EventHandler(button1_Click);
都有各自的事件方法啊!
zk911
2007-06-08
打赏
举报
回复
谁能帮忙解决一下 谢谢
zk911
2007-06-07
打赏
举报
回复
谢谢朋友们 已经知道怎么解决了
谢谢 谢谢
还有一个问题:
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)
这段代码是在按钮上再添加一个小三角
我想让单击按钮的时候完成一个事件
单击小三角的时候完成另一个事件
如何区分我每次点击的是按钮还是小三角呢
谢谢
randb
2007-06-06
打赏
举报
回复
这个应该不难吧,从数据库读取记录,然后往MENU里面添加ITEM不就得了
--------------------------------------------------------------------------------
专注于自动提交,如发贴机资源采集器等网络营销软件的开发及相关领域如验证码识别技术。
QQ群号:24733057
jlzan1314
2007-06-06
打赏
举报
回复
我觉得,你看vs怎么样生成菜单代码的,自己可以理解一下。
sdr是SqlDataReader
MenuItem menuItem;
while (sdr.Read())
{
menuItem = new MenuItem();
menuItem.Text = sdr里相应字段的值;
m.MenuItems.Add(menuItem);
}
这个可以理解一下,,没用到什么复杂的技术。
zk911
2007-06-06
打赏
举报
回复
添加三角的代码如下:
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)
我想让单击按钮的时候完成一个事件
单击小三角的时候完成另一个事件
如何区分我每次点击的是按钮还是小三角呢
请路人指点一下
谢谢
zk911
2007-06-05
打赏
举报
回复
如何在按钮中加一个有三角形标记图片的小按钮呢
恩 我的意思就是像,《imwjb》所说的
chenli133
2007-06-04
打赏
举报
回复
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"]);
}
}
神奇的章鱼哥
2007-06-04
打赏
举报
回复
很简单啊:
sdr是SqlDataReader
MenuItem menuItem;
while (sdr.Read())
{
menuItem = new MenuItem();
menuItem.Text = sdr里相应字段的值;
m.MenuItems.Add(menuItem);
}
zk911
2007-06-04
打赏
举报
回复
using System;
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里面呢?
请路过的朋友多给一点宝贵的意见
谢谢!!!
zk911
2007-06-04
打赏
举报
回复
思路我明白
我刚学习c#不久 对有些地方的语法还不是很熟 最好附上一小段代码
不过还是谢谢路过的朋友提出的思路
“读取内容”后如何实现“动态生成菜单项”呢?
leixueqiyi
2007-06-04
打赏
举报
回复
读取内容——动态生成菜单项——注册菜单click事件——加入contextMenu1
给你的思路,代码不好办
神奇的章鱼哥
2007-06-04
打赏
举报
回复
注册菜单事件里可以写一个统一的方法,传进去form名称做为参数,在这个方法里链接参数指向的名称
神奇的章鱼哥
2007-06-04
打赏
举报
回复
读取内容——动态生成菜单项——注册菜单click事件——加入contextMenu1
zk911
2007-06-04
打赏
举报
回复
能说的再具体一点吗
能给一段简单的代码吗 有助于理解
txwd0033
2007-06-04
打赏
举报
回复
将 数据库的记录先提取出来, 然后针对每个记录进行使用代码动态生成一个菜单项,添加到contextMenu1中去就可以了吧!!
加载更多回复(3)
C#+
Winform
开发窗体程序
学习笔记 第一章:
winform
基础 一、概述 1、Windows Form(简称
WinForm
) 是微软.NET平台下用于开发"图形界面"应用程序的组件。 2、C/S架构 客户机(Client)/服务器(Server),是软件系统体系结构。 通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统...
C#开发窗体程序全过程(项目目录、格式、控件使用、文件读写)
目录第一章:
WinForm
基础一、概述二、在
VS
中新建窗体程序三、窗体(Form)第二章(上):控件与窗体一、文本编辑控件二、图片框:PictureBox三、定时器:Timer第二章(下):继续控件一、选择控件二、列表控件三、菜单栏和快捷菜单四、多窗体的实现(重点、难点)第三章:文件的读写一、概述二、文件的读取(StreamReader)三、文件的写入(StreamWriter)四、快速文件操作第...
C#常用控件及其常用属性的介绍
C#控件属性: 1、窗体 1、常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。 (2) WindowState属性: 用来获取或设置窗体的窗口状态。 取值有三种: Normal (窗体正常显示)、 Minimized (窗体以最小化形式显示)和 Maximized(窗体以最大化形式显示)。 (3)StartPosition属性:
C#基础教程
第一章 C#语言基础 本章介绍C#语言的基础知识,希望具有C语言的读者能够基本掌握C#语言,并以此为基础,能够进一步学习用C#语言编写window应用程序和Web应用程序。当然仅靠一章的内容就完全掌握C#语言是不可能的,如需进一步学习C#语言,还需要认真阅读有关C#语言的专著。 1.1 C#语言特点 Microsoft.NET(以下简称.NET)框架是微软提出的新一代W...
分享Silverlight/WPF/Windows Phone/HTML5一周学习导读(1月2日-1月8日)
分享Silverlight/WPF/Windows Phone/HTML5一周学习导读(1月2日-1月8日) 本周Silverlight学习资源更新 Silverlight:ScrollViewer的各种高度研究 菩提树下的杨过 Silverlight bing map 设置桌面快捷方式 haishan01 windows
2003
I...
C#
110,536
社区成员
642,578
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章