Panel

it2022-05-09  17

Code   1using System;  2using System.Collections.Generic;  3using System.ComponentModel;  4using System.Drawing;  5using System.Data;  6using System.Text;  7using System.Windows.Forms;  8  9namespace Panel_Karose.Net 10{ 11    public partial class Panel_Karose : UserControl 12    {   13        private int pic_ToRight=4; 14        private bool bl_MouseDown = false//鼠标是否按下 15        private bool bl_Dragable = false//控件是否允许拖动 16 17        public Panel_Karose() 18        { 19            InitializeComponent(); 20        } 21 22        private void Panel_Karose_Load(object sender, EventArgs e) 23        {   24            panel_Title.Left = 1; 25           // panel_Title.Top = 1;   26            panel_Contain.Left = 1; 27            this.BackColor = MyBorderColor; 28            pic_Operation.BackgroundImage = panel_Title.BackgroundImage; 29            Controls_Resize(); 30        }  31 32        //调整各控件大小 33        private void Controls_Resize() 34        {   35            panel_Title.Width = this.Width - 2; 36            if (panel_Title.Top <= 0) 37                panel_Contain.Top = 1; 38            else 39                panel_Contain.Top = panel_Title.Top + panel_Title.Height + 1; 40            panel_Contain.Width = this.Width - 2; 41            panel_Contain.Height = this.Height - panel_Contain.Top - 1 42            pic_Operation.Left = panel_Title.Width - pic_Operation.Width - Pic_ToRight; 43        } 44 45        private void Panel_Karose_Resize(object sender, EventArgs e) 46        { 47            Controls_Resize(); 48        } 49         50        控件属性#region 控件属性 51        [ 52        Browsable(true), 53        CategoryAttribute("本控件的自定义属性"), 54        Description("设置标题栏背景色") 55        ] 56        public Color Title_BackColor 57        { 58            set { panel_Title.BackColor = value; } 59            get return panel_Title.BackColor; } 60        } 61 62        [ 63        Browsable(true), 64        CategoryAttribute("本控件的自定义属性"), 65        Description("设置容器栏的背景色") 66        ] 67        public Color Contain_BackColor 68        { 69            set { panel_Contain.BackColor = value; } 70            get return panel_Contain.BackColor; } 71        } 72 73        [ 74        Browsable(true), 75        CategoryAttribute("本控件的自定义属性"), 76        Description("设置边框颜色") 77        ] 78        public Color MyBorderColor 79        { 80            set this.BackColor = value; } 81            get return this.BackColor; } 82        } 83 84        [ 85        Browsable(true), 86        CategoryAttribute("本控件的自定义属性"), 87        Description("设置标题栏背景图片") 88        ] 89        public Image Title_BackImage 90        { 91            set { panel_Title.BackgroundImage = value; } 92            get return panel_Title.BackgroundImage; } 93        } 94 95        [ 96        Browsable(true), 97        CategoryAttribute("本控件的自定义属性"), 98        Description("设置标题栏的高度") 99        ]100        public int Title_Height101        {102            set 103            {104                if (value == 0)105                {106                    panel_Title.Top = 0 - panel_Title.Height;107                    panel_Title.Height = 0;108                }109                else110                {111                    if (value > this.Height - 2)112                    {113                        panel_Title.Top = 1;114                        panel_Title.Height = this.Height - 2115                    }116                    else117                    {118                        panel_Title.Top = 1;119                        panel_Title.Height = value; 120                    }121                } 122                Controls_Resize();123            }124            get return  panel_Title.Height ; }125        }126127        [128        Browsable(true),129        CategoryAttribute("本控件的自定义属性"),130        Description("设置操作按钮的宽度")131        ]132        public int Pic_OptWidth133        {134            set { pic_Operation.Width = value; }135            get return pic_Operation.Width; }136        }137138        [139        Browsable(true),140        CategoryAttribute("本控件的自定义属性"),141        Description("设置操作按钮的高度")142        ]143        public int Pic_OptHeight144        {145            set { pic_Operation.Height = value; }146            get return pic_Operation.Height; }147        }148149        [150        Browsable(true),151        CategoryAttribute("本控件的自定义属性"),152        Description("设置操作按钮是否可用")153        ]154        public bool Opt_Visible155        {156            set { pic_Operation.Visible = value; }157            get return pic_Operation.Visible; }158        }159160        [161        Browsable(true),162        CategoryAttribute("本控件的自定义属性"),163        Description("设置操作按钮的图片")164        ]165        public Image Pic_Operation166        {167            set { pic_Operation.Image = value; }168            get return pic_Operation.Image; }169        }170171        [172        Browsable(true),173        CategoryAttribute("本控件的自定义属性"),174        Description("设置操作按钮鼠标经过时的图片")175        ]176        public Image Pic_Operation_MM177        {178            set { pic_Operation_MM.Image = value; }179            get return pic_Operation_MM.Image; }180        }181182        [183        Browsable(true),184        CategoryAttribute("本控件的自定义属性"),185        Description("设置操作按钮鼠标按下时的图片")186        ]187        public Image Pic_Operation_MD188        {189            set { pic_Operation_MD.Image = value; }190            get return pic_Operation_MD.Image; }191        }192193        [194        Browsable(true),195        CategoryAttribute("本控件的自定义属性"),196        Description("设置操作按钮鼠标放开后的图片")197        ]198        public Image Pic_Operation_MU199        {200            set { pic_Operation_MU.Image = value; }201            get return pic_Operation_MU.Image; }202        }203204        [205        Browsable(true),206        CategoryAttribute("本控件的自定义属性"),207        Description("设置操作按钮距容器上边框的数值")208        ]209        public int Pic_ToTop210        {211            set { pic_Operation.Top = value; }212            get return pic_Operation.Top; }213        }214215        [216        Browsable(true),217        CategoryAttribute("本控件的自定义属性"),218        Description("设置操作按钮距容器右边框的数值")219        ]220        public int Pic_ToRight221        {222            set { pic_Operation.Left = panel_Title.Width - pic_Operation.Width - value; pic_ToRight = value; }223            get return pic_ToRight; }224        }225226        [227        Browsable(true),228        CategoryAttribute("本控件的自定义属性"),229        Description("设置控件是否可以拖动")230        ]231        public bool Dragable232        {233            set { bl_Dragable = value; }234            get return bl_Dragable; }235        }236237        [238        Browsable(true),239        CategoryAttribute("本控件的自定义属性"),240        Description("设置容器栏的背景图片")241        ]242        public Image Contain_BG_Image243        {244            set { panel_Contain.BackgroundImage = value; }245            get return panel_Contain.BackgroundImage; }246        }247248        #endregion249         250        251        点击图片操作按钮所触发的事件#region 点击图片操作按钮所触发的事件 252        //253        public delegate void Pic_OptClickEventHandler(object sender,EventArgs args);254        public event Pic_OptClickEventHandler OptClicked;255        private void OnOptClicked(object sender,EventArgs args)256        {257            if(OptClicked!=null)258            {259                OptClicked(sender,args);260            }261        }262        private void pic_Operation_Click(object sender, EventArgs e)263        {264            OnOptClicked(thisnew EventArgs());265        }266267        private void pic_Operation_MouseMove(object sender, MouseEventArgs e)268        {269            if (!bl_MouseDown)270                pic_Operation.Image = pic_Operation_MM.Image;271        }272273        private void pic_Operation_MouseLeave(object sender, EventArgs e)274        {275            pic_Operation.Image = pic_Operation_MU.Image;276        }277278        private void pic_Operation_MouseUp(object sender, MouseEventArgs e)279        {280            pic_Operation.Image = pic_Operation_MU.Image;281            bl_MouseDown = false;282        }283284        private void pic_Operation_MouseDown(object sender, MouseEventArgs e)285        {286            bl_MouseDown = true;287            pic_Operation.Image = pic_Operation_MD.Image;288        }289        //290        #endregion291292        控件拖动所触发的事件#region 控件拖动所触发的事件293        //294        public delegate void DragEventHandler(object sender,EventArgs args);295        public event DragEventHandler ControlDrag;   //拖动控件的事件296        public event DragEventHandler DragMouseDown; //控件上按下鼠标时的事件(用于确定拖动之前光标在控件内的坐标)297        298        private void OnControlDrag(object sender, EventArgs args)299        {300            if (ControlDrag != null)301                ControlDrag(sender, args);302        }303304        private void OnDragMouseDown(object sender, EventArgs args)305        {306            if (DragMouseDown != null)307                DragMouseDown(sender, args);308        }309310        private void panel_Title_MouseMove(object sender, MouseEventArgs e)311        {312            if (bl_MouseDown)313                OnControlDrag(thisnew EventArgs());314        }315316        private void panel_Title_MouseDown(object sender, MouseEventArgs e)317        {318            if (bl_Dragable)319            {320                bl_MouseDown = true;321                panel_Title.Cursor = Cursors.SizeAll;322                OnDragMouseDown(sender, new EventArgs());323            }324        }325326        private void panel_Title_MouseUp(object sender, MouseEventArgs e)327        {328            bl_MouseDown = false;329            panel_Title.Cursor = Cursors.Default;330        }331332        #endregion333    }334}

转载于:https://www.cnblogs.com/Karose/archive/2007/07/23/828853.html

相关资源:七夕情人节表白HTML源码(两款)

最新回复(0)