PDA

View Full Version : سوال: مشکل حرکت تاریخ شمسی با کلید وسط موس (wheel mouse)



arshias
شنبه 04 آذر 1391, 13:12 عصر
دوستان من با کد زیر از امکان تاریخ شمسی در برنامم استفاده کردم
از این پست :
http://barnamenevis.org/showthread.php?288563-%D8%AA%D9%82%D9%88%DB%8C%D9%85-%D8%B4%D9%85%D8%B3%DB%8C-VB.Net&p=1269594&viewfull=1#post1269594



Public Function MiladiToShamsi(ByVal MDate As Date) As String
MiladiToShamsi = ""
Dim pc As New Globalization.PersianCalendar
Dim Sal As Integer = pc.GetYear(MDate)
Dim Mah As Integer = pc.GetMonth(MDate)
Dim Roz As Integer = pc.GetDayOfMonth(MDate)
MiladiToShamsi = Format(Sal, "0000") & "/" & Format(Mah, "00") & "/" & Format(Roz, "00")
Return MiladiToShamsi

End Function




حالا میخوام توی textbox که تاریخ نمایش داده میشه با ول موس (wheel mouse) تاریخ کم و زیاد بشه به صورت روز به روز یعنی اگر ول موس به سمت عقب بچرخه تاریخ روز به روز کم بشه و برعکس

لطفا کمکم کنید خیلی گشتم ولی چیزی پیدا نکردم :گریه::گریه:

ali_najari
شنبه 04 آذر 1391, 23:51 عصر
دوست عزیز من یه نمونه کوچیک واست آماده کردم که واست پیوست میکنم هم برنامه و هم کدش رو



Public Function MiladiToShamsi(ByVal MDate As Date) As String
MiladiToShamsi = ""
Dim pc As New Globalization.PersianCalendar
Dim Sal As Integer = pc.GetYear(MDate)
Dim Mah As Integer = pc.GetMonth(MDate)
Dim Roz As Integer = pc.GetDayOfMonth(MDate)
MiladiToShamsi = Format(Sal, "0000") & "/" & Format(Mah, "00") & "/" & Format(Roz, "00")
Return MiladiToShamsi
End Function

Public Function AddDaytoDate(ByVal SunDate As Date, ByVal Day As Integer) As String
AddDaytoDate = ""
Dim PC As New Globalization.PersianCalendar
Dim Mdate As Date = pc.ToDateTime(SunDate.Year, SunDate.Month, SunDate.Day, 0, 0, 0, 0)

Dim Sal As Integer = PC.GetYear(Mdate.AddDays(Day))
Dim Mah As Integer = PC.GetMonth(Mdate.AddDays(Day))
Dim Roz As Integer = PC.GetDayOfMonth(Mdate.AddDays(Day))

AddDaytoDate = Format(Sal, "0000") & "/" & Format(Mah, "00") & "/" & Format(Roz, "00")
Return AddDaytoDate
End Function

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
TextBox1.Text = MiladiToShamsi(Now)
TextBox1.SelectionStart = TextBox1.TextLength
End Sub

Private Sub TextBox1_MouseWheel(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseWheel

Try
If e.Delta < 0 Then
TextBox1.Text = AddDaytoDate(TextBox1.Text, -1)

Else
TextBox1.Text = AddDaytoDate(TextBox1.Text, 1)
End If
Catch ex As Exception
TextBox1.Text = MiladiToShamsi(Now)
End Try
TextBox1.SelectionStart = TextBox1.TextLength

End Sub

arshias
یک شنبه 05 آذر 1391, 00:14 صبح
دوست من خیلی لطف کردین متشکرم ، کارم راه افتاد :تشویق: