📄 imagebutton.cs
字号:
/*图片按钮控件
* EDIT BY 赵建江 2008-06-20
*/
using System;
using System.Drawing;
using System.Windows.Forms;
#if DESIGNTIME
[assembly: System.CF.Design.RuntimeAssemblyAttribute("ImageButton, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null")]
#endif
namespace Button
{
public enum Alignment
{
right,
bottom
};
/// <summary>
/// 显示图形的按纽
/// </summary>
public class ImageButton : Control
{
#region --- Fields ---
private System.Drawing.Image image;
private System.Drawing.Image imagePressed;
private System.Drawing.Image imageDisable;
private System.Drawing.Image m_imageBtn;
private System.Windows.Forms.ImageList imageList;
private int imageIndex;
private int imagePressedIndex;
private int imageDisableIndex;
private int fullHeight;
private Alignment textpos;
private bool showframe;
private bool isPressed;
private bool showtext;
private bool multiLine;
private Bitmap m_bmpMemoire;
private Font m_normalFont;
private int margin;
#endregion
#region --- Properties ---
#if DESIGNTIME
[System.ComponentModel.Category("配置")]
[System.ComponentModel.DefaultValueAttribute("")]
[System.ComponentModel.Description("定义BUTTON是否显示黑色边框")]
#endif
public bool ShowFrame
{
get
{
return showframe;
}
set
{
showframe = value;
this.Invalidate();
}
}
#if DESIGNTIME
[System.ComponentModel.Category("配置")]
[System.ComponentModel.DefaultValueAttribute("5")]
[System.ComponentModel.Description("边界空白")]
#endif
public int Margin
{
get
{
return margin;
}
set
{
margin = value;
this.Invalidate();
}
}
#if DESIGNTIME
[System.ComponentModel.Category("配置")]
[System.ComponentModel.DefaultValueAttribute("")]
[System.ComponentModel.Description("定义BUTTON包含的文字")]
#endif
public bool ShowText
{
get
{
return showtext;
}
set
{
showtext = value;
this.Invalidate();
}
}
#if DESIGNTIME
[System.ComponentModel.Category("配置")]
[System.ComponentModel.DefaultValueAttribute("")]
[System.ComponentModel.Description("定义文字是否以多行显示")]
#endif
public bool MultiLine
{
get
{
return multiLine;
}
set
{
multiLine = value;
this.Invalidate();
}
}
#if DESIGNTIME
[System.ComponentModel.Category("配置")]
[System.ComponentModel.DefaultValueAttribute("")]
[System.ComponentModel.Description("定义BUTTON包含的文字显示位置")]
#endif
public Alignment TextPosition
{
get
{
return textpos;
}
set
{
textpos = value;
this.Invalidate();
}
}
#if DESIGNTIME
[System.ComponentModel.Category("配置")]
[System.ComponentModel.DefaultValueAttribute("")]
[System.ComponentModel.Description("定义BUTTON包含的文字字体")]
#endif
public Font TextFont
{
get
{
return m_normalFont;
}
set
{
m_normalFont = value;
this.Invalidate();
}
}
#if DESIGNTIME
[System.ComponentModel.Category("配置")]
[System.ComponentModel.DefaultValueAttribute("")]
[System.ComponentModel.Description("用ImageList定义显示的图片")]
#endif
public System.Windows.Forms.ImageList ButtonImageList
{
get
{
return imageList;
}
set
{
imageList = value;
this.Invalidate();
}
}
#if DESIGNTIME
[System.ComponentModel.Category("配置")]
[System.ComponentModel.DefaultValueAttribute("")]
[System.ComponentModel.Description("未点击时,显示的图片")]
#endif
public System.Drawing.Image ButtonImage
{
get
{
return image;
}
set
{
image = value;
this.Invalidate();
}
}
#if DESIGNTIME
[System.ComponentModel.Category("配置")]
[System.ComponentModel.DefaultValueAttribute("")]
[System.ComponentModel.Description("点击时显示的图片")]
#endif
public System.Drawing.Image ButtonPressedImage
{
get
{
return imagePressed;
}
set
{
imagePressed = value;
this.Invalidate();
}
}
#if DESIGNTIME
[System.ComponentModel.Category("配置")]
[System.ComponentModel.DefaultValueAttribute("")]
[System.ComponentModel.Description("ENABLE=FALSE时显示的图片")]
#endif
public System.Drawing.Image ButtonDisableImage
{
get
{
return imageDisable;
}
set
{
imageDisable = value;
this.Invalidate();
}
}
#if DESIGNTIME
[System.ComponentModel.Category("配置")]
[System.ComponentModel.DefaultValueAttribute("")]
[System.ComponentModel.Description("点击时显示的图片在IMAGELIST中的序号")]
#endif
public int ButtonImageIndex
{
get
{
return imageIndex;
}
set
{
imageIndex = value;
if (imageList != null)
{
image = imageList.Images[imageIndex];
this.Invalidate();
}
}
}
#if DESIGNTIME
[System.ComponentModel.Category("配置")]
[System.ComponentModel.DefaultValueAttribute("")]
[System.ComponentModel.Description("未点击时显示的图片在IMAGELIST中的序号")]
#endif
public int ButtonPressedImageIndex
{
get
{
return imagePressedIndex;
}
set
{
imagePressedIndex = value;
if (imageList != null)
{
imagePressed = imageList.Images[imagePressedIndex];
this.Invalidate();
}
}
}
#if DESIGNTIME
[System.ComponentModel.Category("配置")]
[System.ComponentModel.DefaultValueAttribute("")]
[System.ComponentModel.Description("ENABLE=FALSE时显示的图片在IMAGELIST中的序号")]
#endif
public int ButtonDisableImageIndex
{
get
{
return imageDisableIndex;
}
set
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -