自定义控件 – 属性框中的可点击链接

我正在使用C#进行自定义控件,我需要添加一个属性框的链接(所以我可以在单击后显示一个表单)。

这是一个例子:

在此处输入图像描述

您正在寻找DesignerVerb

设计器谓词是链接到事件处理程序的菜单命令。 设计器动词在设计时添加到组件的快捷菜单中。 在Visual Studio中,还使用LinkLabel在“属性”窗口的“描述”窗格中列出每个设计器谓词。

您可以使用动词来设置单个属性的值,多个属性,或者仅用于显示关于框的值。

例:

为您的控件或从ControlDesigner类或ComponentDesigner (对于组件)派生的组件创建设计器,重写Verbs属性并返回一组谓词。

不要忘记添加对System.Design.dll引用。

 using System; using System.ComponentModel; using System.ComponentModel.Design; using System.Windows.Forms; using System.Windows.Forms.Design; [Designer(typeof(MyControlDesigner))] public class MyControl : Control { public string SomeProperty { get; set; } } public class MyControlDesigner : ControlDesigner { private void SomeMethod(object sender, EventArgs e) { MessageBox.Show("Some Message!"); } private void SomeOtherMethod(object sender, EventArgs e) { var p = TypeDescriptor.GetProperties(this.Control)["SomeProperty"]; p.SetValue(this.Control, "some value"); /*You can show a form and get value*/ } DesignerVerbCollection verbs; public override System.ComponentModel.Design.DesignerVerbCollection Verbs { get { if (verbs == null) { verbs = new DesignerVerbCollection(); verbs.Add(new DesignerVerb("Do something!", SomeMethod)); verbs.Add(new DesignerVerb("Do something else!", SomeOtherMethod)); } return verbs; } } }