wpf 后台动态生成的一个控件,它的wpf listview单击事件件,这样每个对象都会响应这个wpf listview单击事件件,可是出现了下面的问题?

扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
C#动态生成控件以及添加事件处理
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口mfc关于CEDIT控件响应鼠标单击事件的问题
[问题点数:40分,无满意结帖,结帖人guolunfeng]
mfc关于CEDIT控件响应鼠标单击事件的问题
[问题点数:40分,无满意结帖,结帖人guolunfeng]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2011年 总版技术专家分年内排行榜第三2010年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第五
2011年 总版技术专家分年内排行榜第三2010年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第五
2014年11月 VC/MFC大版内专家分月排行榜第二2014年1月 VC/MFC大版内专家分月排行榜第二2013年10月 VC/MFC大版内专家分月排行榜第二2013年9月 VC/MFC大版内专家分月排行榜第二2013年6月 VC/MFC大版内专家分月排行榜第二2013年4月 VC/MFC大版内专家分月排行榜第二2012年6月 VC/MFC大版内专家分月排行榜第二
2015年7月 VC/MFC大版内专家分月排行榜第三2012年10月 VC/MFC大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。假如有一个wpf控件CheckBox chkBox,执行其单击事件的代码如下:
chkBox.RaiseEvent(new RoutedEventArgs(CheckBox.ClickEvent, chkBox));
版权声明:本文为博主原创文章,未经博主允许不得转载。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:199391次
积分:2561
积分:2561
排名:第7239名
原创:66篇
转载:62篇
评论:35条
(4)(1)(1)(1)(7)(4)(1)(1)(1)(2)(1)(1)(3)(3)(3)(2)(5)(7)(5)(1)(1)(2)(17)(3)(2)(1)(3)(1)(11)(19)(14)C#动态生成控件以及添加事件处理
有时候需要在程序运行到一定时候或者某个事件之后需要动态生成控件 在C#下一般方式是:
    private Button Db=new Button() ;
     Db.Name="Dy_Button"           //设定名称
     Db.Location=new Point(100,200);//设定位置
     。。。。//其他属性设置
   //这里添加消息处理
     。。
     this.Controls.Add (Db);//添加到控件组中
  这样就完成了动态生成但是需要给控件添加消息处理事件
  那么现在就需要在生成控件添加到控件组前增加如下语句:
DPB.MouseClick += new
EventHandler(this.pictureBox_MouseClick);
  现在编写这个消息处理的函数pictureBox_Click()
        private void pictureBox_MouseClick(object
sender,EventArgs e)
        {
            MessageBox.Show("click");
        }
  这样完成了事件处理的添加
  首先,创建一个全局变量"i "用来区分各个新的按钮:
private int i=0;
  然后在已有的按钮中添加方法如下:
   private void button1_Click(object sender, System.EventArgs
    i++;
    Button b = new Button();//创建一个新的按钮
    b.Name="b"+i;//这是我用来区别各个按钮的办法
    System.Drawing.Point p = new
Point(12,13+i*30);//创建一个坐标,用来给新的按钮定位
    b.Location =//把按钮的位置与刚创建的坐标绑定在一起
    panel1.Controls.Add(b);//向panel中添加此按钮
    b.Click += new
System.EventHandler(btn_click);//将按钮的方法绑定到按钮的单击事件中b.Click是按钮的单击事件
完成以上步骤就已经可以进行动态按钮的创建 下面我们来讲如何对新建的按钮添加对应的事件方法btn_click(): private
void btn_click(object sender, System.EventArgs e) { Button b1 =
(Button)//将触发此事
  完成以上步骤就已经可以进行动态按钮的创建
  下面我们来讲如何对新建的按钮添加对应的事件方法btn_click():
   private void btn_click(object sender, System.EventArgs
    Button b1 = (Button)//将触发此事件的对象转换为该Button对象
     MessageBox.Show(""+b1.Name);
  至此就已经完成了动态创建按钮和事件
  ASP.net为控件动态添加事件
  实现的功能是在网页上的Panel中动态添加一个Button,并为这个Button写一个单击事件。
  动态添加控件的事件,语句:
<mand += new CommandEventHandler(this.EventFun);
  具体的代码请看下面:
  需要特别注意的是:
  添加控件和给控件加事件时绝对不能放到
if(!IsPostback){}里面,那样的话,点击一次后控件会消失,而且事件也不
  会执行。
protected void Page_Load(object sender, EventArgs e)
       //将输入字符串分析为System.Web.UI.Control对象,b为传进去的值
        Control c = ParseControl("&asp:Button Text =
'按我' ID = 'myButton' commandargument = 'b' runat = 'server'
        //将控件添加大Panel中
        this.Panel1.Controls.Add(c);
        //查找页面名为myButton的控件
        Button Button = (Button)Page.FindControl("myButton");
        //添加事件On_Button
        mand += new
CommandEventHandler(this.On_Button);
       
    //CommandEventArgs为command事件提供数据
    protected void On_Button(Object sender,CommandEventArgs
        Response.Write("&script language =
'JavaScript' type = 'text/Javascript'&alert('" +
e.CommandArgument.ToString() +
"');&/script&");
动态添加控件并添加事件 private void Page_Load(object sender,
System.EventArgs e) { Button Button1 = new Button();
mandArgument = b1; Button1.Text = Btn1; mand
+= new CommandEvent
  动态添加控件并添加事件
private void Page_Load(object sender, System.EventArgs e)
   Button Button1 = new Button();
   mandArgument = "b1";
   Button1.Text = "Btn1";
   mand += new CommandEventHandler(this.OnButton);
   PlaceHolder1.Controls.Add(Button1);
   Button Button2 = new Button();
   mandArgument = "b2";
   Button2.Text = "Btn2";
   mand += new CommandEventHandler(this.OnButton);
   PlaceHolder1.Controls.Add(Button2);
   Control c3 = ParseControl("&ASP:Button
id='Button3' text='Btn3' commandname='Btn' commandargument='b3'
runat='server' /&"); //将字符串转换成Web控件
   Control c4 = ParseControl("&asp:Button
id='Button4' text='Btn4' commandname='Btn' commandargument='b4'
runat='server' /&");
   PlaceHolder1.Controls.Add(c3);
   PlaceHolder1.Controls.Add(c4);
   Button myBut = (Button)Page.FindControl("Button3");
   mand += new CommandEventHandler(this.OnButton);
   Button myBut2 = (Button)Page.FindControl("Button4");
   mand += new CommandEventHandler(this.OnButton);
public void OnButton(Object Sender, CommandEventArgs e)
   switch (e.CommandArgument.ToString().ToLower())
    case "b1":
     Label1.Text = "Button 1";
    case "b2":
     Label1.Text = "Button 2";
    case "b3":
     Label1.Text = "Button 3";
    case "b4":
     Label1.Text = "Button 4";
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。WPF路由事件,在一个类调中调用窗体里的事件。后台动态生成标签,怎么添加事件?_百度知道
提问者采纳
label1.IsHitTestVisible&=&
WPF程序。我试了你说的这个,提示跟我的鼠标按下事件不匹配!你写的是鼠标滚动的事件
我已经改了回答了!
看到了,试了一下还是没有能调用事件!
要么就留联系看,不然怎么能证明没调用?
我加了您的Q。现在在线吗?发消息了。
我不在,你可以把程序打包发我youxiang,还有我好像没说自己的q啊?
提问者评价
来自团队:
其他类似问题
为您推荐:
wpf的相关知识
其他1条回答
直接弹出的对话框不就可以直接输入了吗!烦请您的采纳!!
现在是没有调用那个事件,所以根本没有弹出对话框
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 wpf 控件模板 事件 的文章

 

随机推荐