PDA

View Full Version : یادم رفته این تقویم ثانیه رو چه جوری به حرکت در بیارم



RIG000
چهارشنبه 23 تیر 1389, 15:42 عصر
تو سوالم مشخص بود باید یه تایمر بذارم
و این کد رو بنویسم اما یادم رفته کجا کمی قاطی کردم :قهقهه::قهقهه::قهقهه:
اگه میگفتن تو چه رویدادی مس نوشتمش تا حالا 100 بار اینکار وکردم و یادمه 100 بار هم یادم رفته کجا بنویسمش . فضای نام و from load رو نوشتم .این کد رو کجا بنویسم .؟

label4.Text = shamsi.GetYear(miladi) + "/" + shamsi.GetMonth(miladi) + "/" + shamsi.GetDayOfMonth(miladi);//tarikh
label5.Text = shamsi.GetHour(miladi) + ":" + shamsi.GetMinute(miladi) + ":" + shamsi.GetSecond(miladi);// inam saat

تو تایمر و تو فرم لود نوشتم اما نمی دونم مشکل کجاست فقط به صورت ثابت نشون میده میخام ثانیه در حرکت باشه:بامزه:

mohamad.alijani
چهارشنبه 23 تیر 1389, 15:54 عصر
من فكر كنم شما توي فرمتون بايد يك تايمر داشته باشيد و توي روي داد tick يكبار فرمتون رو رفرش كنيد:
Form1.refresh()
به اين ترتيب هر تغييري روي فرم اتفاق بيافته نمايش مي ده
موفق باشيد.

csharpprogramer88
چهارشنبه 23 تیر 1389, 15:54 عصر
دوست عزیز یه توضیحی بدید اصلا تایمر را برای چه کاری میخواهید من که از سوال شما چیزی نفهمیدم

vandermond
چهارشنبه 23 تیر 1389, 16:13 عصر
احتمالا شما تايمر گذاشتيد كه فرم رفرش بشه ولي تايمر براي تغيير زمان رو نزاشتيد(البته دوتاش رو با يك تايمر بنويسيد).
يعني توي Tick تايمر ابتدا تاريخ miladi تون رو بكنيد DateTime.Now و بعدش يا فرم رو رفرش كنيد يا كدي رو كه گفتيد بزاريد توي يه متد و اون رو فراخواني كنيد. (روش دوم بهتره).
باز هم مشكلي بود بفرماييد

RIG000
چهارشنبه 23 تیر 1389, 16:17 عصر
private void timer1_Tick(object sender, EventArgs e)
{
label4.Text = shamsi.GetYear(miladi) + "/" + shamsi.GetMonth(miladi) + "/" + shamsi.GetDayOfMonth(miladi);//tarikh
label5.Text = shamsi.GetHour(miladi) + ":" + shamsi.GetMinute(miladi) + ":" + shamsi.GetSecond(miladi);// inam saat

}
این قسمت کد تو تایمر گذاشتم میگم که چرا وقتی برنامه اجرا میشه ثانیه که تو لیبل نمایش داده نمیشه به حرکت در نمیاد . همین

vandermond
چهارشنبه 23 تیر 1389, 16:29 عصر
خب دوست عزيز من كه گفتم.
شما داريد نوشته هاتون رو هي آپديت ميكنيد ولي نوشته اي كه تغيير نكرده رو.:متعجب:
شما بايد قبل از اين دو خط، تاريخي كه به اسم miladi تو برنامه تون هست رو آپديت كنيد. اگه ميخوايد تاريخ الان رو نشون بده مثلا بزاريد:

miladi=DateTime.Now;
فهميديد منظورمو؟؟؟
باز هم مشكلي بود هستم

RIG000
چهارشنبه 23 تیر 1389, 22:19 عصر
PersianCalendar shamsi = new PersianCalendar();
DateTime miladi = DateTime.Now;
ربطی به این نداره من میدونستم مشکل از کجاست یادم رفته

حجتی نیا
پنج شنبه 24 تیر 1389, 00:30 صبح
اینم نمونه...

vandermond
پنج شنبه 24 تیر 1389, 09:11 صبح
PersianCalendar shamsi = new PersianCalendar();
DateTime miladi = DateTime.Now;
ربطی به این نداره من میدونستم مشکل از کجاست یادم رفته
دوست عزيز اين كد رو كجا گذاشي؟
بايد توي تايمر بزاري كه آپديت بشه.(تو پست هاي قبليت توي تايمر نبود)


اینم نمونه...
درباره اين هم كه يك تايمر سادست من نظري ندارم. شايد با اين برنامه مشكل RIG000 حل شده باشه.