C#重新绘制按钮

 public  class ButtonX:Button
    {

            protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
            {

                base.OnPaint(e);
                System.Drawing.Drawing2D.GraphicsPath path = new System.Drawing.Drawing2D.GraphicsPath();
                path.AddEllipse(0, 0, this.Width, this.Height);
                this.Region = new Region(path);

            }

            protected override void OnMouseEnter(EventArgs e)
            {
                Graphics g = this.CreateGraphics();
                g.DrawEllipse(new Pen(Color.Blue), 0, 0, this.Width, this.Height);
                g.Dispose();
            }

        }

然后生成解决方案,生成之后,工具箱里会有如下图:

这个组件就是新的Button,你直接拖到窗体上就好了,
这个是简单的,效果不满意可以随便画

时间: 2024-10-12 22:21:41

C#重新绘制按钮的相关文章

用CSS3/JS绘制自己想要的按钮

我认为按钮的绘制分以下三个步骤 第一步,绘制按钮的轮廓 选择合适的html标签,设置轮廓的CSS /* html代码 */ <a href="#" class="button off"></a> body{ background-color: #E6C9B6; } /* CSS样式 */ /* 按钮轮廓 */ .button{ display: block; margin:100px auto; position: relative; wid

winfrom 水晶按钮

闲来无事,从网上找了不少自定义控件,然后整理了一下,做了一个水晶按钮 /// <summary> /// 表示 Windows 的按钮控 /// </summary> [Description("表示 Windows 的按钮控件"), DefaultEvent("Click"), ToolboxBitmap(typeof (System.Windows.Forms.Button))] public class Button : Control

Qt Style Sheet实践(一):按钮及关联菜单(24K纯开源,一共四篇)

导读 正如web前端开发中CSS(Cascade Style Sheet)的作用一样,Qt开发中也可以使用修改版的QSS将逻辑业务和用户界面进行隔离.这样,美工设计人员和逻辑实现者可以各司其职而不受干扰.更重要的是,由于界面和逻辑处理是分离的,低耦合性使得代码重构的工作量可以减少到最小.QSS和CSS的语法几乎一致,除了Qt自身增加的一些属性之外,其余的属性都可以在CSS2或CSS3中找到对应的属性.因此,如果曾经有过CSS的使用经验,那么QSS的使用将游刃有余.关于QSS的使用实践,打算撰写一

自定义水晶按钮控件

namespace 自定义水晶按钮控件 { partial class Form1 { /// <summary> /// 必需的设计器变量. /// </summary> private System.ComponentModel.IContainer components = null; /// <summary> /// 清理所有正在使用的资源. /// </summary> /// <param name="disposing&quo

4.VC按钮显示图片

1.方法1: 加载BITMAP显示,缺点是:图片固定大小,不会自动拉伸 //资源文件里导入一张BITMAP,如 IDC_BITMAP1 //设置Button的Bitmap 属性为 TRUE //.cpp CBitmap PpBitmap = new CBitmap(); //创建图片对象 pBitmap->LoadBitmapA(IDB_BITMAP1); //从资源中加载图片 HBITMAP hBitmap = (HBITMAP)pBitmap->Detach(); m_btn1.SetBi

Delphi自写组件:可设置颜色的按钮(改成BS_OWNERDRAW风格,然后CN_DRAWITEM)

unit ColorButton; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, StdCtrls; type TColorButton = class(TButton) private //添加Color属性,默认clWhite { Private declarations } FColor:TColor; FCanvas:TCanvas; IsFocused:Boolean; procedur

VC++ WIN32 sdk实现按钮自绘详解.

网上找了很多,可只是给出代码,没有详细解释,不便初学者理解.我就抄回冷饭.把这个再拿出来说说. 实例图片: 首先建立一个标准的Win32 Application 工程.选择a simple Win32 Application. 然后建立我们的资源文件首先新建一个对话框资源,资源ID改为IDD_MAIN_DLG 然后在其上新建一个按钮控件资源ID改为IDC_ODBUTTON,此按钮的styles中必须选中owenerdraw属性. 然后将其保存为.rc的资源文件.并将其导入我们的工程.同理新建一个

仿饿了么加入购物车旋转控件 - 自带闪转腾挪动画 的按钮

转载请标明出处: http://blog.csdn.net/zxt0601/article/details/54235736 本文出自:[张旭童的博客](http://blog.csdn.net/zxt0601) 代码传送门:喜欢的话,随手点个star.多谢 https://github.com/mcxtzhang/AnimShopButton 概述 在上文,酷炫Path动画已经预告了,今天给大家带来的是利用 纯自定义View,实现的仿饿了么加入购物车控件,自带闪转腾挪动画的按钮. 效果图如下:

19windows_19_OwnerDraw自制按钮DIYBUTTON

#include <windows.h> #include <iostream> CHAR szText[256] = { 0 }; #define PrintLog(x) WriteConsole(g_hStdout, x, strlen(x), NULL, NULL) HINSTANCE g_hInst = NULL; //窗口句柄 HANDLE g_hStdout = NULL; //控制台句柄 void OnCreate(HWND hWnd, UINT nMsg, WPAR