منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : اظهار Icon Process
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
اريد icon Process تظهر فى PictureBox قمت بصنع هذا المثال
كود :
Dim img As New ImageList
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        With ListView1
            .Clear()
            .View = View.Details
            .Columns.Add("Process name", 250)
            .Columns.Add("ProcessID", 80)
            .GridLines = True
            .SmallImageList = img
        End With
        For Each p In Process.GetProcesses
            With ListView1.Items.Add(p.ProcessName)
                Dim pid = p.Id
                .SubItems.Add(pid)
                Try
                    Dim ico As Icon = Icon.ExtractAssociatedIcon(p.MainModule.FileName)
                    img.Images.Add(pid.ToString, ico)
                    .ImageKey = pid.ToString
                Catch ex As Exception

                End Try
            End With
        Next
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        PictureBox1.Image = img.Images(ListView1.FocusedItem.Index)
    End Sub
لاكن دامن حصل على icon الخطاء
أخي جربت المثال والأيقونة بتظهر في أداة PictureBox1 بدون مشاكل فين الخطأ ؟؟؟

لاظهار الأيقونات بجودة أفضل ضع هذه الجزئية في كود الزر Button1 قبل With ListView1 :
كود :
With img
            .ColorDepth = ColorDepth.Depth32Bit
            .ImageSize = New Size(16, 16)
        End With

***
**
*
جزيل الشكر
مفيدة فكرة جودة أفضل
شكرآ اخى لاكن هذا لم يحل المشكله بعد يوجد خطاء فى هذه السطر
كود :
PictureBox1.Image = img.Images(ListView1.FocusedItem.Index)
اكثر icon
طيب ارفق البرنامج
تفضل اخى
آسف أخي ... برنامجك مصمم بفيجوال بيسك أعلى من اللي عندي (عندي نسخة 2010)

لعل الأعضاء يساعدوك
ولا يهمك أخى و شكرآ على المساعده Smile
السلام عليكم،
كود :
Public Class Form1
    Dim img As New ImageList
    Dim indices As New Dictionary(Of Integer, Integer)
    Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
        With img
            .ColorDepth = ColorDepth.Depth32Bit
            .ImageSize = New Size(16, 16)
        End With
        With ListView1
            .Clear()
            .View = View.Details
            .Columns.Add("Process name", 250)
            .Columns.Add("ProcessID", 80)
            .GridLines = True
            .SmallImageList = img
        End With
        For x As Integer = 0 To Process.GetProcesses.Length - 1
            Dim p As Process = Process.GetProcesses()(x)
            With ListView1.Items.Add(p.ProcessName)
                Dim pid = p.Id
                .SubItems.Add(pid)
                Try
                    Dim ico As Icon = Icon.ExtractAssociatedIcon(p.MainModule.FileName)
                    img.Images.Add(pid.ToString, ico)
                    .ImageKey = pid.ToString
                Catch
                Finally
                    indices.Add(x, img.Images.Count - 1)
                End Try
            End With
        Next
    End Sub

    Private Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button2.Click
        PictureBox1.Image = img.Images(indices(ListView1.FocusedItem.Index))
    End Sub
End Class