PDA

View Full Version : مبتدی: چرا برنامه هنگ میکنه



Sir-Programmer
یک شنبه 19 آذر 1391, 11:55 صبح
سلام
من یه تو برخی از برنامه هایی که مینویسم مثلاً وقتی ایمیل ارسال میکنم چند ثانیه برنامه هنگ میکنه بعد چند ثانیه دوباره به حالت خودش بر میگرده می خوام کاری کنم که هنگ نکنه و به جای هنگ کردن یه برچسب بزارم وقتی برنامه خاست هنگ کنه Label مورد نظرم متنش عوض شه ممنون .

morteza271
یک شنبه 19 آذر 1391, 12:07 عصر
شما برای اینکه برنامتون هنگ نکنه باید از ترد ها استفاده کنید.
طریقه ی استفاده از تردها هم خیلی سادس و در همین سایت کلی تایپیک در موردش هست، با یه جستجوی ساده در همین سایت به نتیجه میرسین.
موفق باشید.

Sir-Programmer
یک شنبه 19 آذر 1391, 15:51 عصر
سلام مرسی که جواب دادی میشه یه سمپل بزاری من زیاد گشتم مثال زیاد بود به کارم نیومد مثلاً چطوری باید وقفه کد زیرو از بین برد ؟

try
{
Ping ping = new Ping();
PingReply pingStatus = ping.Send("google.com");
if (pingStatus.Status == IPStatus.Success)
{
MailMessage msg = new MailMessage(new MailAddress(TxtUser.Text), new MailAddress(textBox1.Text)); // Create a MailMessage object with a from and to address
msg.Subject = textBox2.Text; // Add your subject
msg.SubjectEncoding = System.Text.Encoding.UTF8;
msg.Body = richTextBox1.Text; // Add the body of your message
msg.BodyEncoding = System.Text.Encoding.UTF8;
msg.IsBodyHtml = false; // Does the body contain html

SmtpClient client = new SmtpClient(SmtpServer.Text, 587); // Create an instance of SmtpClient with your smtp host and port
client.Credentials = new NetworkCredential(TxtUser.Text, TxtPw.Text); // Assign your username and password to connect to gmail
client.EnableSsl = false; // Enable SSL

if (TxtUser.Text.EndsWith("@yahoo.com"))
{
client.EnableSsl = false;
}
try
{

client.Send(msg); // Try to send your message;
MessageBox.Show("Message Sent.");
}
catch (SmtpException ex)
{
MessageBox.Show(ex.Message);
}
}
}
catch
{
MessageBox.Show("You are not connected to the internet.", "", MessageBoxButtons.OK, MessageBoxIcon.Error);
}

s3rv3r
یک شنبه 19 آذر 1391, 16:21 عصر
اینطوری عزیزه دل

using System.Threading;

کد های دکمه ارسال
Thread thsend = new Thread(new ThreadStart(sendmail));
thsend.start();


تابع ارسال ایمیل که نوشتید
private void sendmail()
{
کد های ارسال ایمیل
}

Sir-Programmer
یک شنبه 19 آذر 1391, 16:39 عصر
مرسی از جوابت ولی این کد شما هم تست شد کار نمیکنه عزیزه دل این مسج باکس رو نمایش میده

MessageBox.Show("You are not connected to the internet.", "", MessageBoxButtons.OK, MessageBoxIcon.Error);

s3rv3r
یک شنبه 19 آذر 1391, 17:13 عصر
عزیزه اون دیگه خودت باس بررسی کنی :لبخند:

یه نگا به پیغام بنداز میگه شما به اینترنت متصل نیستید . ببین مشکل از کجاست

Sir-Programmer
یک شنبه 19 آذر 1391, 17:18 عصر
واقعاً مرسی اره دیگه منم تو این فکر بودم باید خودم برسی کنم :لبخند::بامزه: البته با کمک دوستان :لبخند: بازم مرسی هر بار سوال کردم فوراً جواب دادای تشکر =xX