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 - 2; 115 }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(this, new 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(this, new 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源码(两款)
转载请注明原文地址: https://win8.8miu.com/read-1479172.html