我发现现在一般的软件,如QQ,快播,360等软件都会将比如“最小化”按钮的图片(包括:当鼠标移动时,按下时,释放等等)放在同一张图片中,比如下面这张是友道的皮肤:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;namespace ShowPicPosition
{
public partial class Form1 : Form
{
Bitmap pic = new Bitmap("win7-default.jpg");
public Form1()
{
InitializeComponent();
} private void panel1_Paint(object sender, PaintEventArgs e)
{
Rectangle r1 = new Rectangle(0, 0, 100, 40);
Rectangle r2 = new Rectangle(14, 194, 100, 40);
e.Graphics.DrawImage(pic, r1, r2, GraphicsUnit.Pixel);
}
}
}
通过上面的代码可以将图片指定区域显示在面板上,但是如果想实现鼠标移过时,显示一个区域,按下时,也显示一个区域,似乎会很麻烦,请问有高手知道有没有什么简单点的方法,求指教
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;namespace ShowPicPosition
{
public partial class Form1 : Form
{
Bitmap pic = new Bitmap("win7-default.jpg");
public Form1()
{
InitializeComponent();
} private void panel1_Paint(object sender, PaintEventArgs e)
{
Rectangle r1 = new Rectangle(0, 0, 100, 40);
Rectangle r2 = new Rectangle(14, 194, 100, 40);
e.Graphics.DrawImage(pic, r1, r2, GraphicsUnit.Pixel);
}
}
}
通过上面的代码可以将图片指定区域显示在面板上,但是如果想实现鼠标移过时,显示一个区域,按下时,也显示一个区域,似乎会很麻烦,请问有高手知道有没有什么简单点的方法,求指教
解决方案 »
- <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
- 高手请进,一个关于用户控件的问题
- 使用WaveInOpen对Modem录音返回32
- 【请教】通讯软件客户端的系统设计
- C#如何清空excel中的全部内容???
- 引用动态库的时候提示“请确保此文件可访问并且是一个有效的程序集或COM组建”
- 想请教一下高手,能不能提供C#中如何调用C++或其他语言的例子,不甚感激!(100给分)
- 如何判断指定路径是否存在,不存在则创建
- 请教!!!如何保存前先验证?????
- 如果得到DataGridView最左列的宽度
- ASP.NET,,,,
- 两万多次请求,HttpWebRequest类,使用多线程
写一个方法,传一个Rectangle进去。