PDA

View Full Version : نمایش فرم به مدت چند ثانیه



mahtab_m
جمعه 23 بهمن 1388, 20:22 عصر
سلام
می خوام بعد از فرم login یک فرم رو به مدت چند ثانیه نشون بده و بعد به طور خودکار به فرم اصلی هدایت بشه. برای این کار چیکار باید بکنم؟

یه سوال دیگه هم دارم . برای اینکه توی یه textbox که نام خانوادگی رو از کاریر می گیره بخوام فقط حروف الفبا(فارسی) وارد بشه چیکار باید بکنم؟

برای اینکه فقط عدد نمایش وارد بشه چیکار باید بکنم؟

من برای اینکه در textbox فقط عدد نمایش داده بشه از کد زیر استفاده کردم.مشکلش اینه که کلید backspace برای حذف عمل نمیکنه و باید کل عدد رو انتخاب کنم و حذف کنم.


int isnumber = 0;
e.Handled = !int.TryParse(e.KeyChar.ToString(), out isnumber);

ممنون میشم منو راهنمایی کنید

ehsanarn
جمعه 23 بهمن 1388, 21:17 عصر
سلام در مورد سوال اول باید کد زیر در قسمت load شدن فرم قرار دهید

private void Form_Load(object sender, EventArgs e)
{
System.Timers.Timer timer1 = new System.Timers.Timer();
timer1.Elapsed += new System.Timers.ElapsedEventHandler(timer1_Elapsed);
timer1.Interval = 2000;
timer1.Start();

}
و این کد را هم به فرم اضافه کن

void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
#region The code for fix Cross-Thread bug.
if (this.InvokeRequired) // This shouldn't happen since we are on the same thread
{
this.Invoke(new MethodInvoker(CloseForm));

}
else
{
CloseForm();
}
#endregion
}
void CloseForm()
{
this.Close();

}

mahtab_m
جمعه 23 بهمن 1388, 21:30 عصر
میشه این کد ها رو توضیح بدین؟
چطور بعد از مدت زمان مشخص به فرم اصلی هدایت میشه؟

ehsanarn
شنبه 24 بهمن 1388, 16:27 عصر
سلام دوست عزیز
یک نمونه برنامه گذاشتم.
با استفاده از دستور زیر می توانید زمان نمایش فرم را تعیین کنید.
1000*(زمان بر حسب ثانیه)=timer1.Interval
در نمونه برنامه که گذاشتم فرم اولیه به مدت 8 ثانیه نمایش داده شده و به فرم اصلی انتقال می یابد

r00tkit
شنبه 24 بهمن 1388, 17:06 عصر
یه سوال چرا کسی یه سرچ نمی کنه این سوال ها تکراریه!!!!!!!!

فارسی در
Textbox




InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(System.Globalization.Cul tureInfo.CreateSpecificCulture("fa-IR"));



وارد کردن فقط عدد



private void textBox1_KeyPress(object sender, KeyPressEventArgs e)

{

if (!System.Text.RegularExpressions.Regex.IsMatch(e.K eyChar.ToString(), "\\d+"))

e.Handled = true;

}



یا




if (!char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar)) e.Handled = true;

ali.aghdam
شنبه 24 بهمن 1388, 17:47 عصر
بهترین و رایج ترین راه برای این کار استفاده از Splashاست

بهتره قبل از سوال یه سرچ کنید

آموزش کامل Splash :


http://barnamenevis.org/forum/showpost.php?p=610009&postcount=154

mahtab_m
یک شنبه 25 بهمن 1388, 22:42 عصر
منظورم فارسی سازی نبود-میخوام کاراکتری غیر از حروف الفبا نشه وارد کرد

mahtab_m
شنبه 01 اسفند 1388, 11:40 صبح
سلام دوست عزیز
یک نمونه برنامه گذاشتم.
با استفاده از دستور زیر می توانید زمان نمایش فرم را تعیین کنید.
1000*(زمان بر حسب ثانیه)=timer1.Interval
در نمونه برنامه که گذاشتم فرم اولیه به مدت 8 ثانیه نمایش داده شده و به فرم اصلی انتقال می یابد
میشه روش کار رو وقتی قرار هست این فرم بین دو فرم دیگه نمایش داده بشه توضیح بدین.
ممنون میشم اگه این برنامه رو بنویسین.