نمایش نتایج 1 تا 40 از 105

نام تاپیک: نکات، ایده ها و ترفندهای کوچک برنامه نویسی در vb.net

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111

    Smile sort کردن آبجکتهای یک کلاس با پیاده سازی اینترفیس IComparable

    https://barnamenevis.org/showpo...&postcount=120

    کلاس مورد نظر باید اینترفیس IComparable رو پیاده سازی کند. (این اینترفیس تنها یک متود CompareTo دارد)
    به نحوه ی پیاده سازی متود CompareTo دقت کنید :
    کد:

    Public Class Person
    Implements IComparable

    Private _firstname As String
    Public Property Firstname() As String
    Get
    Return _firstname
    End Get
    Set(ByVal value As String)
    _firstname = value
    End Set

    End Property

    Private _lastname As String
    Public Property Lastname() As String
    Get
    Return _lastname
    End Get
    Set(ByVal value As String)
    _lastname = value
    End Set

    End Property

    Private _age As Integer
    Public Property Age() As Integer
    Get
    Return _age
    End Get
    Set(ByVal value As Integer)
    _age = value
    End Set

    End Property

    Public Sub New(ByVal firstname As String, ByVal lastname As String, ByVal age As Integer)

    _firstname = firstname
    _lastname = lastname
    _age = age
    End Sub

    Public Function CompareTo(ByVal obj As Object) As Integer Implements IComparable.CompareTo

    If obj.GetType Is GetType(Person) Then

    Dim p2 As Person = obj
    Return _firstname.CompareTo(p2.Firstname)
    Else
    Throw New ArgumentException("Object is not a Person.")
    End If
    End Function


    Public Overrides Function ToString() As String

    Return String.Format("{0} {1}, Age = {2}", _firstname, _lastname, _age.ToString())
    End Function
    End Class


    مثال - Sort کردن افراد از روی اسم کوچک (استفاده از کلاس بالا) :
    کد:


    Dim persons As List(Of Person) = New List(Of Person)()
    persons.Add(New Person("Behrouz", "Rad", 30))
    persons.Add(New Person("Omid", "Mottaghi Rad", 31))
    persons.Add(New Person("Mehdi", "Keramati", 32))
    persons.Add(New Person("Ali", "Keshavarz", 33))
    persons.Add(New Person("Mohammad", "Heshemian", 34))
    persons.Add(New Person("Farhad", "XXX", 35))

    '//Before Sorting
    ListBox1.Items.AddRange(persons.ToArray())

    '//ُSorting List
    persons.Sort()

    '//Sorted List
    listBox2.Items.AddRange(persons.ToArray
    ())

  2. #2
    کاربر دائمی
    تاریخ عضویت
    آبان 1385
    محل زندگی
    مشهد
    سن
    39
    پست
    449

    فرمت بندی داده های جدول

    حتما تا الان برنامه ای واسه نوشتن داشتید که در اون مانده حساب اشخاص نمایش داده میشه و تمایل داشتید که بجای مثلا -230 برنامه تون اطلاعات رو در دیتاگرید بصورت "بدهکار230" یا همینطور در مورد بستانکار و بی حساب نشون بده ، یک راه برای انجام این کار اینه که یک دستور Select بنویسید (که همه باهاش آشنایی دارید) ولی راه ساده تری هم هست ، کافیه روی دیتاگرید راست کلیک کنید و پس از انتخاب فیلد حساب ، در بخش ویژگی Default Cell Style روی کلید سمت راست کلیک کنید و در پنجره باز شده در بخش Format کد زیر را بنویسید :

    بستانکار 0;بدهکار0;بی حساب


    برای کسب اطلاعات بیشتر یه سری به لینک زیر بزنید :
    http://msdn2.microsoft.com/en-us/library/0c899ak8.aspx
    آخرین ویرایش به وسیله bad_boy_2007 : سه شنبه 13 فروردین 1387 در 02:19 صبح

  3. #3
    کاربر دائمی
    تاریخ عضویت
    آبان 1385
    محل زندگی
    مشهد
    سن
    39
    پست
    449

    کلیک کردن بر روی کلید

    چندین راه مختلف برای کلیک کردن روی کلیدها وجود داره ولی عموما 2 شکل اون رایج تر و ساده تره :


    Button1_Click(New Object, New System.EventArgs)

    که بعضی ها هم دوست دارن اینطوری بنویسن :

    Dim sender1 As New Object
    Dim e1 As New System.EventArgs
    Button1_Click(sender1, e1)

    ولی در هر حال فرقی نمیکنه


    و اما راه دوم که کمی ساده تره و باعث خوانایی بیشتر کدها میشه :

    Button1.PerformClick()

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •