(八十三)c#Winform自定义控件-导航菜单(扩展)

前提

入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章。

GitHub:https://github.com/kwwwvagaa/NetWinformControl

码云:https://gitee.com/kwwwvagaa/net_winform_custom_control.git

如果觉得写的还行,请点个 star 支持一下吧

欢迎前来交流探讨: 企鹅群568015492 企鹅群568015492_www.wityx.com

来都来了,点个【推荐】再走吧,谢谢

NuGet

Install-Package HZH_Controls

目录

https://www.cnblogs.com/bfyx/p/11364884.html

用处及效果

以上为demo效果,你使用此控件可以实现以下弹出效果

准备工作

没什么准备的

开始

添加一个类NavigationMenuItemExt 继承NavigationMenuItemBase

1     public class NavigationMenuItemExt : NavigationMenuItemBase
2     {
3         public System.Windows.Forms.Control ShowControl { get; set; }
4     }

添加一个用户控件UCNavigationMenuExt

添加属性

  1 /// <summary>
  2         /// Occurs when [click itemed].
  3         /// </summary>
  4         [Description("点击节点事件"), Category("自定义")]
  5 
  6         public event EventHandler ClickItemed;
  7         /// <summary>
  8         /// The select item
  9         /// </summary>
 10         private NavigationMenuItemExt selectItem = null;
 11 
 12         /// <summary>
 13         /// Gets the select item.
 14         /// </summary>
 15         /// <value>The select item.</value>
 16         [Description("选中的节点"), Category("自定义")]
 17         public NavigationMenuItemExt SelectItem
 18         {
 19             get { return selectItem; }
 20             private set { selectItem = value; }
 21         }
 22 
 23         /// <summary>
 24         /// The items
 25         /// </summary>
 26         NavigationMenuItemExt[] items;
 27 
 28         /// <summary>
 29         /// Gets or sets the items.
 30         /// </summary>
 31         /// <value>The items.</value>
 32         [Description("节点列表"), Category("自定义")]
 33         public NavigationMenuItemExt[] Items
 34         {
 35             get { return items; }
 36             set
 37             {
 38                 items = value;
 39                 ReloadMenu();
 40             }
 41         }
 42         /// <summary>
 43         /// The tip color
 44         /// </summary>
 45         private Color tipColor = Color.FromArgb(255, 87, 34);
 46 
 47         /// <summary>
 48         /// Gets or sets the color of the tip.
 49         /// </summary>
 50         /// <value>The color of the tip.</value>
 51         [Description("角标颜色"), Category("自定义")]
 52         public Color TipColor
 53         {
 54             get { return tipColor; }
 55             set { tipColor = value; }
 56         }
 57 
 58         /// <summary>
 59         /// 获取或设置控件的前景色。
 60         /// </summary>
 61         /// <value>The color of the fore.</value>
 62         /// <PermissionSet>
 63         ///   <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" />
 64         /// </PermissionSet>
 65         public override System.Drawing.Color ForeColor
 66         {
 67             get
 68             {
 69                 return base.ForeColor;
 70             }
 71             set
 72             {
 73                 base.ForeColor = value;
 74                 foreach (Control c in this.Controls)
 75                 {
 76                     c.ForeColor = value;
 77                 }
 78             }
 79         }
 80         /// <summary>
 81         /// 获取或设置控件显示的文字的字体。
 82         /// </summary>
 83         /// <value>The font.</value>
 84         /// <PermissionSet>
 85         ///   <IPermission class="System.Security.Permissions.EnvironmentPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" />
 86         ///   <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" />
 87         ///   <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="UnmanagedCode, ControlEvidence" />
 88         ///   <IPermission class="System.Diagnostics.PerformanceCounterPermission, System, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" />
 89         /// </PermissionSet>
 90         public override Font Font
 91         {
 92             get
 93             {
 94                 return base.Font;
 95             }
 96             set
 97             {
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值