欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【asp.net 图标提取以及图标转换的实例代码】,下面是详细的讲解!
asp.net 图标提取以及图标转换的实例代码
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using System.IO;
using System.Resources;
using System.Reflection;
using System.Runtime.InteropServices;
namespace newExtIcon
{
public partial class MainForm : Form
{
public Assembly asm=Assembly.GetExecutingAssembly();
public MainForm()
{
InitializeComponent();
}
void MainForm_Load(object sender ,EventArgs e)
{
lbl_display.Text="No Work !";
}
void btnExtractClick(object sender, EventArgs e)
{
Random rd=new Random();
openFileDialog1.Filter="应用程序|*.dll;*.exe|所有程序|*.*";
if(openFileDialog1.ShowDialog()==DialogResult.OK)
{
Icon icon=Icon.ExtractAssociatedIcon(openFileDialog1.FileName);
FileStream fileStream=new FileStream("d:\\"+rd.Next(1,100000)+".ico",FileMode.Create);
icon.Save(fileStream);
fileStream.Close();
lbl_display.Text="Work Done!";
}
else
{
return ;
}
}
void BtnChangeClick(object sender, EventArgs e)
{
Size sz=new Size(32,32);
Random rd=new Random();
openFileDialog1.Filter="图片|*.jpg;*.png;*.bmp|所有程序|*.*";
//openFileDialog1.Filter="图片|*.jpg;*.png;*.bmp|应用程序|*.dll;*.exe";
if(openFileDialog1.ShowDialog()==DialogResult.OK)
{
using(Bitmap bm=new Bitmap(openFileDialog1.FileName))
{
using(Bitmap IconBM=new Bitmap(bm,sz))
{
using(Icon icon_t=Icon.FromHandle(IconBM.GetHicon()))
{
FileStream fileStream=new FileStream("d:\\"+rd.Next(1,100000)+".ico",FileMode.Create);
icon_t.Save(fileStream);
fileStream.Close();
lbl_display.Text="Work Done!";
}
}
}
}
else
{
return ;
}
}
void Pic_Click(object sender, System.EventArgs e)
{
int int_index=Convert.ToInt32(((PictureBox)sender).Tag) ;
switch(int_index)
{
case 1:
this.Close();
Application.Exit();
break;
case 2:
WindowState=FormWindowState.Minimized;
break;
default :
break;
}
}
void Pic_Hover(object sender,EventArgs e)
{
string name_1="btn_close_hightligth.png";
string name_2="btn_mini_highlight.png";
Bitmap bm_1=new Bitmap(asm.GetManifestResourceStream(name_1));
Bitmap bm_2=new Bitmap(asm.GetManifestResourceStream(name_2));
int int_index=Convert.ToInt32(((PictureBox)sender).Tag) ;
switch(int_index)
{
case 1:
pictureBox1.BackgroundImage=bm_1;
break;
case 2:
pictureBox2 .BackgroundImage=bm_2;
break;
default :
break;
}
}
void Pic_Leave(object sender,EventArgs e)
{
string name_1="btn_close_down.png";
string name_2="btn_mini_down.png";
Bitmap bm_1=new Bitmap(asm.GetManifestResourceStream(name_1));
Bitmap bm_2=new Bitmap(asm.GetManifestResourceStream(name_2));
//GetMainfestResourceStream获取的是流
int int_index=Convert.ToInt32(((PictureBox)sender).Tag) ;
switch(int_index)
{
case 1:
pictureBox1.BackgroundImage=bm_1;
break;
case 2:
pictureBox2 .BackgroundImage=bm_2;
break;
default :
break;
}
}
private const int WM_NCLBUTTONDOWN=0xA1;
private const int HTCAPTION=2;
[DllImport("user32.dll")]
private static extern int SendMessage (int hwnd, int wMsg, int wParam, int lParam);
[DllImport("user32.dll")]
private static extern int ReleaseCapture();
private void form_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
//为当前的应用程序释放鼠标捕获
ReleaseCapture();
//发送消息,让系统误以为你在标题拦上按下鼠标
SendMessage((int)this.Handle,WM_NCLBUTTONDOWN,HTCAPTION,0);
}
}
}
关于asp.net 图标提取以及图标转换的实例代码的用户互动如下:
相关问题:
答: >>详细
相关问题:
答: >>详细
相关问题:
答: >>详细
- 【asp】asp.net url重写浅谈-net-url重写
- 【DataSet】DataSet、DataTable、DataRow区别详解
- 【asp】asp.net 动态添加多个用户控件-net-动态添
- 【ASP】ASP.NET中内嵌页面代码的一个问题-NET-内
- 【As】Asp.net中的页面乱码的问题-sp--pn-ne-et
- 【增加记录】asp.net中获取新增加记录的ID Access
- 【创建】ASP.NET Web API教程 创建域模型的方法详
- 【Asp】Asp.net 页面调用javascript变量的值-net-
- 【ASP】ASP.NET 5升级后如何删除旧版本的DNX-NET5
- 【404页面】ASP.NET设置404页面返回302HTTP状态码
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
