扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:马金虎 来源:天极网 2007年11月9日
关键字:
图02:【Visual Basic .Net查看文件中的图标】项目的【新建项目】对话框 |
< System.Runtime.InteropServices.DllImport ( "Shell32.dll" ) > _ Public Function _ ExtractIcon ( ByVal src As System.IntPtr , ByVal strFileName As String , ByVal uiIconIndex As UInt32 ) As System.IntPtr End Function '声明ExtractIcon函数 Declare Auto Function Icon_Num Lib "Shell32.dll" Alias "ExtractIcon" ( ByVal src As System.IntPtr , ByVal strFileName As String , ByVal uiIconIndex As Integer ) As Integer |
组件类型 | 组件名称 | 属性 | 设置结果 |
Form | Form1 | Text | VB.NET查看文件中的图标 |
Form1 | MaximizeBox | False | |
Form1 | MinimizeBox | False | |
Form1 | FormBorderStyle | FixedSingle | |
ListView | ListView1 | ImageList1 | LargeImageList |
ListView1 | MultiSelect | False | |
ListView1 | Size | Size ( 380 , 208 ) | |
Button | Button1 | Text | 选择文件 |
Button1 | FlatStyle | Flat | |
ImageList | ImageList1 | Size | Size ( 32 , 32 ) |
ImageList1 | TransparentColor | Color.Transparent | |
Label | Label1 | Text | 文件名称: |
Label2 | Text | 图标数目: | |
Label3 | Text | "" | |
Label4 | Text | "0" |
图02:【Visual Basic .Net查看文件中的图标】项目的设计界面 |
Private Sub Button1_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles Button1.Click If OpenFileDialog1.ShowDialog ( ) = DialogResult.OK Then '清除组件中的所有项目 ListView1.Items.Clear ( ) ImageList1.Images.Clear ( ) Dim sfName As String = OpenFileDialog1.FileName Label3.Text = sfName Dim iIcon_Num As Integer = Icon_Num ( IntPtr.Zero , sfName , -1 ) '显示文件中的图标数目 Label4.Text = iIcon_Num.ToString ( ) Dim i As Integer For i = 0 To iIcon_Num - 1 Step 1 '强制实现int到uint类型转换 Dim j As UInt32 j = System.Convert.ToUInt32 ( i ) Dim hIcon As System.IntPtr = ExtractIcon ( IntPtr.Zero , sfName , j ) '在imageList1组件中加入当然提取的图标 ImageList1.Images.Add ( Icon.FromHandle ( hIcon ).ToBitmap ( ) ) '在ListView组件中加入一个项目 ListView1.Items.Add ( "第" + ( i + 1 ).ToString ( ) + "个图标" ) '把加入项目的图象索引指向刚才加入图标在imagList1组件中的索引,从而显示图标 ListView1.Items ( i ).ImageIndex = i Next i End If End Sub |
图03:【Visual Basic .Net查看文件中的图标】项目的运行界面 |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者