تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] ListView تغير شكلها
#1
Heart 
السلام عليكم و رحمة الله و بركاته
عند سؤال شباب كيفيةاعمل شكل ListView  مثل الصورة اونلاين و اوفلاين و البيانات تحت بعض يعنى اظهر اسم المستخدام مع صور لون احمر اوفلاين و لون اخضر اونلاين  Huh
   
قال تعالى : يَامَعْشَرَ الْجِنِّ وَالإِنسِ إِنْ اسْتَطَعْتُمْ أَنْ تَنفُذُوا مِنْ أَقْطَارِ السَّمَاوَاتِ وَالأَرْضِ فَانفُذُوا لا تَنفُذُونَ إِلاّ بِسُلْطَانٍ
الرد }}
تم الشكر بواسطة: أشرف كريم 2
#2
مهتم ..........
الرد }}
تم الشكر بواسطة: أشرف كريم 2
#3



هي امثلة بالسي شارب لا كنها لا تحتاج لحويلها سوى أمور بسيطة مثل حذف الفاصلة المنقوطة و تغير الاقواس المربعة بالأقواس العادية و ما الى ذلك .
الرد }}
تم الشكر بواسطة: alims , alims , أشرف كريم 2
#4
شكرا لك اخى العزيز ولكن حاولت تحويل من c# الى vb ولكن فشلت برجاء مساعدتى بمثال و اسف على الازعاج اخى الريم

(02-11-21, 02:35 PM)asemshahen5 كتب :


هي امثلة بالسي شارب لا كنها لا تحتاج لحويلها سوى أمور بسيطة مثل حذف الفاصلة المنقوطة و تغير الاقواس المربعة بالأقواس العادية و ما الى ذلك .
شكرا لك اخى العزيز ولكن حاولت تحويل من c# الى vb ولكن فشلت برجاء مساعدتى بمثال و اسف على الازعاج اخى الكريم
قال تعالى : يَامَعْشَرَ الْجِنِّ وَالإِنسِ إِنْ اسْتَطَعْتُمْ أَنْ تَنفُذُوا مِنْ أَقْطَارِ السَّمَاوَاتِ وَالأَرْضِ فَانفُذُوا لا تَنفُذُونَ إِلاّ بِسُلْطَانٍ
الرد }}
تم الشكر بواسطة: أشرف كريم 2
#5
السلام عليكم قومت بعمل هذا الكود و هو شغل بدون مشكلة ولكن اريد ان يظهر جانب كلمة online و offline صورة صورة لون احمر offlineو صورة تانية لون اخضر online 
و اريد ان يظهر سهم لغلق و افتح القايمة لكن من online و offline
ودى صورة اخر حاجة وصلتها و اشكر الاستاذ asemshahen5 
كود :
Imports System
Imports System.Drawing
Public Class Form2

    Dim myImageList1 As System.Windows.Forms.ImageList = New ImageList()
 Public Sub New()
        InitializeComponent()
        Dim myImageList1 As System.Windows.Forms.ImageList = New ImageList()
        myImageList1.ImageSize = New Size(64, 64)
        myImageList1.Images.Add(Image.FromFile("C:\Users\Soka\Desktop\New folder\01.jpg"))
        myImageList1.Images.Add(Image.FromFile("C:\Users\Soka\Desktop\New folder\02.jpg"))
        myImageList1.Images.Add(Image.FromFile("C:\Users\Soka\Desktop\New folder\03.jpg"))
        myImageList1.Images.Add(Image.FromFile("C:\Users\Soka\Desktop\New folder\04.jpg"))
        myImageList1.Images.Add(Image.FromFile("C:\Users\Soka\Desktop\New folder\05.jpg"))
        myImageList1.Images.Add(Image.FromFile("C:\Users\Soka\Desktop\New folder\06.jpg"))
        myImageList1.Images.Add(Image.FromFile("C:\Users\Soka\Desktop\New folder\07.jpg"))
        myImageList1.Images.Add(Image.FromFile("C:\Users\Soka\Desktop\New folder\08.jpg"))
        myImageList1.Images.Add(Image.FromFile("C:\Users\Soka\Desktop\New folder\09.jpg"))
        myImageList1.Images.Add(Image.FromFile("C:\Users\Soka\Desktop\New folder\10.jpg"))
        Dim myImageList2 As System.Windows.Forms.ImageList = New ImageList()
        myImageList2.ImageSize = New Size(32, 32)
        myImageList2.Images.Add(Image.FromFile("C:\Users\Soka\Desktop\New folder\01.jpg"))
        myImageList2.Images.Add(Image.FromFile("C:\Users\Soka\Desktop\New folder\02.jpg"))
        myImageList2.Images.Add(Image.FromFile("C:\Users\Soka\Desktop\New folder\03.jpg"))
        myImageList2.Images.Add(Image.FromFile("C:\Users\Soka\Desktop\New folder\04.jpg"))
        myImageList2.Images.Add(Image.FromFile("C:\Users\Soka\Desktop\New folder\05.jpg"))
        myImageList2.Images.Add(Image.FromFile("C:\Users\Soka\Desktop\New folder\06.jpg"))
        myImageList2.Images.Add(Image.FromFile("C:\Users\Soka\Desktop\New folder\07.jpg"))
        myImageList2.Images.Add(Image.FromFile("C:\Users\Soka\Desktop\New folder\08.jpg"))
        myImageList2.Images.Add(Image.FromFile("C:\Users\Soka\Desktop\New folder\09.jpg"))
        myImageList2.Images.Add(Image.FromFile("C:\Users\Soka\Desktop\New folder\10.jpg"))
        myListView.LargeImageList = myImageList1
        myListView.SmallImageList = myImageList2
        myListView.Items.Add("Item 1", 0)
        myListView.Items.Add("Item 2", 1)
        myListView.Items.Add("Item 3", 2)
        myListView.Items.Add("Item 4", 3)
        myListView.Items.Add("Item 5", 4)
        myListView.Items.Add("Item 6", 5)
        myListView.Items.Add("Item 7", 6)
        myListView.Items.Add("Item 8", 7)
        myListView.Items.Add("Item 9", 8)
        myListView.Items.Add("Item 10", 9)
        Dim myLVGroup1 As ListViewGroup = New ListViewGroup("Online", HorizontalAlignment.Left)
        Dim myLVGroup2 As ListViewGroup = New ListViewGroup("Offline", HorizontalAlignment.Left)
        myListView.Groups.AddRange(New ListViewGroup() {myLVGroup1, myLVGroup2})
        myListView.Items(0).Group = myListView.Groups(0)
        myListView.Items(1).Group = myListView.Groups(0)
        myListView.Items(2).Group = myListView.Groups(0)
        myListView.Items(3).Group = myListView.Groups(0)
        myListView.Items(4).Group = myListView.Groups(0)
        myListView.Items(5).Group = myListView.Groups(1)
        myListView.Items(6).Group = myListView.Groups(1)
        myListView.Items(7).Group = myListView.Groups(1)
        myListView.Items(8).Group = myListView.Groups(1)
        myListView.Items(9).Group = myListView.Groups(1)
    End Sub
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        myListView.View = View.Tile
    End Sub
   
قال تعالى : يَامَعْشَرَ الْجِنِّ وَالإِنسِ إِنْ اسْتَطَعْتُمْ أَنْ تَنفُذُوا مِنْ أَقْطَارِ السَّمَاوَاتِ وَالأَرْضِ فَانفُذُوا لا تَنفُذُونَ إِلاّ بِسُلْطَانٍ
الرد }}
تم الشكر بواسطة: أشرف كريم 2 , أشرف كريم 2
#6
سلام عليكم اخي الكريم

وجدت ماتطلبه في هذا الموضوع : https://www.codeproject.com/Tips/1264552...e-ListView


تحتاج الى ان تستخدم ListView معدلة تضيف السهم لاغلاق وفتح المجموعة 

كود :
Imports System.Runtime.InteropServices

Public Class CollapsibleListView
   Inherits ListView

   Private Const LVGF_STATE As Integer = &H4
   Private Const LVGS_COLLAPSIBLE As Integer = &H8
   Private Const LVM_FIRST As Integer = &H1000
   Private Const LVM_SETGROUPINFO As Integer = (LVM_FIRST + 147)
   Private Const LVM_INSERTGROUP As Integer = (LVM_FIRST + 145)
   Private Const WM_LBUTTONUP As Integer = &H202

   Protected Overrides Sub WndProc(ByRef message As Message)
       Select Case message.Msg
           Case WM_LBUTTONUP
               MyBase.DefWndProc(message)
           Case LVM_INSERTGROUP
               MyBase.WndProc(message)
               Dim group = Marshal.PtrToStructure(Of LvGroup)(message.LParam)
               SetGroupCollapsible(group.iGroupId)
               Return
       End Select

       MyBase.WndProc(message)
   End Sub

   <DllImport("user32.dll")>
   Private Shared Function SendMessage(ByVal handle As IntPtr, ByVal message As Integer, ByVal wParam As Integer, ByVal lParam As IntPtr) As Integer

   End Function

   <StructLayout(LayoutKind.Sequential)>
   Private Structure LvGroup
       Public cbSize As Integer
       Public mask As Integer
       <MarshalAs(UnmanagedType.LPTStr)>
       Public pszHeader As String
       Public cchHeader As Integer
       <MarshalAs(UnmanagedType.LPTStr)>
       Public pszFooter As String
       Public cchFooter As Integer
       Public iGroupId As Integer
       Public stateMask As Integer
       Public state As Integer
       Public uAlign As Integer
   End Structure

   Private Sub SetGroupCollapsible(ByVal groupItemIndex As Integer)
       Dim group As LvGroup = New LvGroup()
       group.cbSize = Marshal.SizeOf(group)
       group.state = LVGS_COLLAPSIBLE
       group.mask = LVGF_STATE
       group.iGroupId = groupItemIndex
       Dim ip As IntPtr = IntPtr.Zero

       Try
           ip = Marshal.AllocHGlobal(group.cbSize)
           Marshal.StructureToPtr(group, ip, False)
           SendMessage(Handle, LVM_SETGROUPINFO, groupItemIndex, ip)
       Finally

           If ip <> IntPtr.Zero Then
               Marshal.FreeHGlobal(ip)
           End If
       End Try
   End Sub



End Class


اضف الكلاس الى مشروعك ثم استخدم CollapsibleListView بدلا من الليست فيو العادية

قمت باعداد مثال شبيه بما ارفقته

   

   

   

   


الملفات المرفقة
.zip   ListviewExample.zip (الحجم : 18.72 ك ب / التحميلات : 12)
الرد }}
تم الشكر بواسطة: أشرف كريم 2 , أشرف كريم 2 , asemshahen5



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم