كود :
Public Class Form1
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
TextBox2.Text = StringDate(TextBox1.Text)
End Sub
Public Function StringDate(dt As String) As String
Dim days As String() = {"الأول", "الثاني", "الثالث", "الرابع", "الخامس", "السادس", "السابع", "الثامن", "التاسع", "العاشر",
"الحادي عشر", "الثاني عشر", "الثالث عشر", "الرابع عشر", "الخامس عشر", "السادس عشر", "السابع عشر",
"الثامن عشر", "التاسع عشر", "العشرون", "الحادي والعشرون", "الثاني والعشرون", "الثالث والعشرون",
"الرابع والعشرون", "الخامس والعشرون", "السادس والعشرون", "السابع والعشرون", "الثامن والعشرون",
"التاسع والعشرون", "الثلاثون", "الحادي والثلاثون"}
Dim months As String() = {"يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"}
Dim years As String() = {"ألفان", "ألفان وواحد", "ألفان واثنان", "ألفان وثلاثة", "ألفان وأربعة", "ألفان وخمسة",
"ألفان وستة", "ألفان وسبعة", "ألفان وثمانية", "ألفان وتسعة", "ألفان وعشرة",
"ألفان وإحدى عشر", "ألفان وإثنا عشر", "ألفان وثلاثة عشر", "ألفان وأربعة عشر", "ألفان وخمسة عشر",
"ألفان وستة عشر", "ألفان وسبعة عشر", "ألفان وثمانية عشر", "ألفان وتسعة عشر", "ألفان وعشرون"}
Dim r As String = String.Empty
If IsDate(dt) Then
Dim y = CDate(dt).Year, m = CDate(dt).Month, d = CDate(dt).Day
If y >= 2000 And y <= 2020 Then
r = days(d - 1) & " من " & months(m - 1) & " " & years(y - 2000)
End If
End If
Return r
End Function
End Class
ضعه لعل بالإمكان تحويله إلى VB.NET وتحسينه أيضاً.