国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#通過重寫Panel改變邊框顏色與寬度的方法

2020-01-24 01:31:07
字體:
來源:轉載
供稿:網友

本文實例講述了C#通過重寫Panel改變邊框顏色與寬度的方法。分享給大家供大家參考。具體實現方法如下:

using System;using System.Collections.Generic;using System.Text;using System.Runtime.InteropServices;using System.ComponentModel;using System.Windows.Forms;using System.Drawing;namespace ImageStudio{ public class PanelEx : System.Windows.Forms.Panel {  [DllImport("user32.dll")]  private static extern IntPtr GetWindowDC(IntPtr hwnd);  [DllImport("user32.dll")]  private static extern int ReleaseDC(IntPtr hwnd, IntPtr hdc);  private Color _borderColor = Color.Black;  private int _borderWidth = 1;  //  // 摘要:  //  獲取或設置控件的邊框顏色。  //  // 返回結果:  //  控件的邊框顏色 System.Drawing.Color。默認為 System.Drawing.Color.Black  //  屬性的值。  [Description("組件的邊框顏色。"), Category("Appearance")]  public Color BorderColor  {   get   {    return _borderColor;   }   set   {    _borderColor = value;    this.Invalidate();   }  }  //  // 摘要:  //  獲取或設置控件的邊框寬度。  //  // 返回結果:  //  控件的邊框寬度 int。默認為 1  //  屬性的值。  [Description("組件的邊框寬度。"), Category("Appearance")]  public int BorderWidth  {   get   {    return _borderWidth;   }   set   {    _borderWidth = value;    this.Invalidate();   }  }  public PanelEx()  {   SetStyle(ControlStyles.DoubleBuffer, true);   SetStyle(ControlStyles.AllPaintingInWmPaint, false);   SetStyle(ControlStyles.ResizeRedraw, true);   SetStyle(ControlStyles.UserPaint, true);   SetStyle(ControlStyles.SupportsTransparentBackColor, true);   this.Paint+=new PaintEventHandler(PanelEx_Paint);  }  private void PanelEx_Paint(object sender, PaintEventArgs e)  {   if (this.BorderStyle == BorderStyle.FixedSingle)   {    IntPtr hDC = GetWindowDC(this.Handle);    Graphics g = Graphics.FromHdc(hDC);    ControlPaint.DrawBorder(     g,     new Rectangle(0, 0, this.Width, this.Height),     _borderColor,     _borderWidth,     ButtonBorderStyle.Solid,     _borderColor,     _borderWidth,     ButtonBorderStyle.Solid,     _borderColor,     _borderWidth,     ButtonBorderStyle.Solid,     _borderColor,     _borderWidth,     ButtonBorderStyle.Solid);    g.Dispose();    ReleaseDC(Handle, hDC);   }  } }}

希望本文所述對大家的C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平邑县| 灵寿县| 富裕县| 贵定县| 宽城| 新沂市| 东乌珠穆沁旗| 临高县| 梅河口市| 博湖县| 远安县| 云龙县| 吉木萨尔县| 许昌县| 利川市| 安泽县| 北宁市| 南涧| 台州市| 卓资县| 淳化县| 望城县| 丹寨县| 永修县| 类乌齐县| 鹤峰县| 项城市| 鄂温| 麻江县| 洛南县| 亚东县| 门头沟区| 新泰市| 广昌县| 绥芬河市| 河东区| 桃园市| 武鸣县| 青河县| 永新县| 大丰市|