C# 重写LinkLabel控件的click事件

1、在新建的窗口form1上,拖入系统控件Linklabel控件,但我想按着我的想法重写这个控件,怎么弄?
2、我新建了一个类,手工使这个类集成系统的Linklabel,然后修改form1.designer.cs里面的代码,这样可以吗?怎么添加LinkLabel的鼠标单击的事件?
3、怎样才能当我点击这个控件时,按着我重写的click事件执行程序呢?

楼主你的想法是可以的。

要手动修改form1.designer.cs:
this.linkLabel1 = new MyLinkButton();

private MyLinkButton linkLabel1;

 

你的LinkLabel控件:

 public class MyLinkButton : System.Windows.Forms.LinkLabel
    {
                protected override void OnLinkClicked(LinkLabelLinkClickedEventArgs e)
        {
            MessageBox.Show("MyLinkButton里面的Click方法");
            //把下面这句注释,那么Form1里面的OnLinkClicked方法就不再执行了
            //base.OnLinkClicked(e);
        }    }

点击效果:

追问

请问OnLinkClicked这个函数式手动添加的还是可以由工程添加?
工程添加,怎么弄啊?

追答

这个方法手动写,继承了LinkLabel以后,你写protected override 会有智能提示的。

最好是亲自试一次。

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-09-28
自定义控件需要新建一个类,继承自Linklabel,然后在方法里面override也就是你说的重写了。编译以后,工具箱应该就会有你这个新的控件了,不过图标应该是齿轮状的,可以拖动,与原来的控件没啥区别。

C# 重写LinkLabel控件的click事件
你的LinkLabel控件:public class MyLinkButton : System.Windows.Forms.LinkLabel { protected override void OnLinkClicked(LinkLabelLinkClickedEventArgs e) { MessageBox.Show("MyLinkButton里面的Click方法"); \/\/把下面这句注释,那么Form1里面的OnLinkClicked方法就不再执行了 \/\/b...

C# 重写LinkLabel控件的click事件
你的LinkLabel控件:public class MyLinkButton : System.Windows.Forms.LinkLabel { protected override void OnLinkClicked(LinkLabelLinkClickedEventArgs e) { MessageBox.Show("MyLinkButton里面的Click方法"); \/\/把下面这句注释,那么Form1里面的OnLinkClicked方法就不再执行了 \/\/b...

C#新手求救,关于linklabel的Click事件
f1.linklabel1.Click += new System.EventHandler(f1.linklabel1_Click);Application.Run(f1);

在C#中怎样利用LinkLabel控件实现连接
\/\/1.在窗体上新建一个LinkLabel对象,设其名称为linkLabel1.\/\/2.在设计视图中双击这个对象,跳转到其LinkClicked事件.\/\/3.在函数中输入如下代码, 示例为(包含LinkClicked事件函数):private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e){ try { System.Diagnostics.Process...

编写一个C#程序,当单击"确定"时自动连接百度首页,这个程序该怎么写...
你好,在Form1添加一个控件 LinkLabel,然后双击,填写如下代码;在click事件中填写 System.Diagnostics.Process.Start("iexplore.exe", "http:\/\/www.baidu.com");System.Diagnostics.Process.Start("http:\/\/www.baidu.com");即可。

c#中 linklabel控件问题:
这个问题就是你的原来的窗体不是一个多文档窗体。不知道你的需求,你可以把 frm.MdiParent = this; 这句话删除了 如果你做的是个多文档的,那么本窗体的IsMdiContainer 就需要设置成true

C#怎么实现下图功能 就是将文本中的网址显示的效果是超链接,点击可以打 ...
你所说的是在winform窗体中还是asp.net中呢?如果是在asp.net中则可以使用:加一个连接标签<a href="你想要链接的网址">内容<\/a> 这样就可以实现你想要的效果了

C#如何链接到我的网页,我想通过点击控件LinkLabel进入我电脑里有的...
把你的静态页面放在你发布的网站文件夹下面或者直接把你的静态页面添加到你的项目里面,然后设置LinkButton的连接属性连接的你的静态页面就可以了 似乎没有LinkLabel这个控件只有LinkButton这个控件啊,我从没使用过LinkLabel

C# CS程序里放BS页面地址
linkLabel1.LinkArea = new LinkArea(2, 2);LinkLabel控件常用方法 Focus方法: 该方法表示控件设置输入焦点。FindForm方法: 该方法表示检索控件所在的窗体 LinkClicked事件:当用户单击控件中的链接时,处理LinkClicked事件以执行任务,将Link LabelLinkClickedEventArgs类的实例传递给LinkClicked事件的处理程序,...

C# WinForm 中如何设置linklabel控件的行间距
每个控件都有location属性,在你赋值的时候你可以设置linkbutton的location属性来控制它的位置 this.Linkbutton1.location=new point(5,5);this.linkbutton2.Text="3329u3djfagewf";\/\/linkbutton赋值 this.linkbutton2.location =new point(this.linkbutton1.X+this.linkbutton1.width+3,this.link...

相似回答