منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
كود توسيع أعمدة أداة Listview بالنسبة المئوية حسب حجم الأداة - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : الأقسام التعليمية - المنتدى القديم (http://vb4arb.com/vb/forumdisplay.php?fid=90)
+--- قسم : مكتبة أكواد المنتدى (http://vb4arb.com/vb/forumdisplay.php?fid=111)
+---- قسم : مكتبة أكواد .net (http://vb4arb.com/vb/forumdisplay.php?fid=117)
+---- الموضوع : كود توسيع أعمدة أداة Listview بالنسبة المئوية حسب حجم الأداة (/showthread.php?tid=7676)



كود توسيع أعمدة أداة Listview بالنسبة المئوية حسب حجم الأداة - kslawy - 19-02-13

السلام عليكم ورحمة الله وبركاته

هذا الكود قمت بعمله لتوسيع أعمدة أداة الـ Listview لتأخذ حجمها بالنسبة المئوية علي حسب حجم الأداة :

الـدالــــــــــة :
كود :
[color=#0000ff]Public Function[/color] PercentWidth([color=#0000ff]ByVal [/color]Percent [color=#0000ff]As Decimal[/color], [color=#0000ff]ByVal[/color] lv [color=#0000ff]As[/color] ListView) [color=#0000ff]As Integer[/color]
[color=#0000ff]        On Error Resume Next[/color]
       [color=#0000ff] Return[/color] Percent * (lv.Width - 5) / 100
    End Function

يتم إستخدام الدالة عن طريق حدث الـ Resize الخاص بالـ Form ويمكن وضعه في أي حدث آخر كـ Timer مثلاً :

كود :
[color=#0000ff]Private Sub[/color] Form1_Resize([color=#0000ff]ByVal[/color] sender [color=#0000ff]As Object[/color], [color=#0000ff]ByVal [/color]e [color=#0000ff]As [/color]System.EventArgs)[color=#0000ff] Handles Me[/color].Resize
        [color=#0000ff]For Each[/color] c [color=#0000ff]As [/color]ColumnHeader In ListView.Columns
            [color=#0000ff]Select Case[/color] c.Index
                [color=#0000ff]Case [/color]0
                    c.Width = PercentWidth(50, ListView)
                [color=#0000ff]Case [/color]1
                    c.Width = PercentWidth(30, ListView)
                [color=#0000ff]Case [/color]2
                    c.Width = PercentWidth(20, ListView)
[color=#0000ff]            End Select[/color]
[color=#0000ff]        Next[/color]
   [color=#0000ff] End Sub[/color]
الكود أعلاه في حالة كانت الأداة تحتوي علي 3 أعمدة فقط .


****
***
**
*


كود توسيع أعمدة أداة Listview بالنسبة المئوية حسب حجم الأداة - ali.alfoly - 27-02-13

جزاك الله خيرا
كفيت ووفيت
ربنا يجعله فى موازين حسناتك


كود توسيع أعمدة أداة Listview بالنسبة المئوية حسب حجم الأداة - ربيع - 08-03-13

نحمده ونصلي على رسوله الكريم

وعليكم السلام ورحمة الله وبركاته
بارك الله فيك وجزاك كل خير، فكرة جميلة جدا Smile


كود توسيع أعمدة أداة Listview بالنسبة المئوية حسب حجم الأداة - أبو يعقوب - 08-03-13

السلام عليكم

أعتذر على التطفل

حاول دائما ان يكون الكود شامل عام

الكود التالي يقوم بالمطلوب حتى لو كانت الأعمدة مليون ويحافظ على نسبة كل عمود بشرط أن تعطيه نسبة مجموع الأعمدة النهائي

PHP كود :
Sub ResizeHeaders(ByVal lv As ListViewByVal percent As Single)
        
Dim FinalHeadersWidth lv.Width percent
        Dim CurrentHeadersWidth 
As Integer
        
For Each c As ColumnHeader In lv.Columns
            CurrentHeadersWidth 
+= c.Width
        Next
        
'طرحنا 1 بكسل لكل عمود لكي لا يظهر السكرول بار إذا كانت النسبة 1
        Dim RemainWidth As Integer = FinalHeadersWidth - CurrentHeadersWidth - lv.Columns.Count
        For Each c As ColumnHeader In lv.Columns
            Dim val = (c.Width / CurrentHeadersWidth) * RemainWidth
            If c.Width + val > 1 Then
                c.Width += val
            End If
        Next
    End Sub 

ونستخدمه مثلا عند تغير مساحة الفورم
PHP كود :
Private Sub Form1_Resize(ByVal sender As ObjectByVal e As System.EventArgsHandles Me.Resize
        Me
.ResizeHeaders(Lvw1)
    
End Sub 



كود توسيع أعمدة أداة Listview بالنسبة المئوية حسب حجم الأداة - kslawy - 10-03-13

فعلا الكود عملي أكثر من كودي

جزاك الله خير الجزاء أبو يعقوب