PDA

View Full Version : کمک در مورد چند نخی



kingtak
دوشنبه 06 آذر 1391, 16:07 عصر
سلا دوستان
من می خوام توی برنامم متد pinsender رو با چند نخی اجرا کنم ولی یه مشکلی دارم.اگه میشه راهنماییم کنید.


The calling thread cannot access this object because a different thread owns it.:گیج:


namespace PingExample
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
Thread PingThread = new Thread(pingSender);
PingThread.Start();
}

public void pingSender()
{
try
{
IPAddress[] ipList = new IPAddress[11];
ipList[0] = IPAddress.Parse("74.125.225.193");
ipList[1] = IPAddress.Parse("74.125.225.192");
ipList[2] = IPAddress.Parse("174.36.84.92");
ipList[3] = IPAddress.Parse("24.246.192.8");
ipList[4] = IPAddress.Parse("69.55.53.89");
ipList[5] = IPAddress.Parse("199.195.128.4");
ipList[6] = IPAddress.Parse("216.245.214.165");
ipList[7] = IPAddress.Parse("176.9.63.137");
ipList[8] = IPAddress.Parse("94.232.174.83");
ipList[9] = IPAddress.Parse("205.234.185.14");
ipList[10] = IPAddress.Parse("25.15.160.100");

foreach (IPAddress address in ipList)
{
Ping pingSender = new Ping();
PingReply replay = pingSender.Send(address);
if (replay.Status == IPStatus.Success)
{
listBox1.Items.Add(replay.Address.ToString() + " Is Online");
switch (replay.Address.ToString())
{
case "74.125.225.193":
image2.Visibility = Visibility.Visible;
break;
case "74.125.225.192":
image4.Visibility = Visibility.Visible;
break;
case "174.36.84.92":
image6.Visibility = Visibility.Visible;
break;
case "24.246.192.8":
image8.Visibility = Visibility.Visible;
break;
case "69.55.53.89":
image10.Visibility = Visibility.Visible;
break;
case "199.195.128.4":
image12.Visibility = Visibility.Visible;
break;
case "216.245.214.165":
image14.Visibility = Visibility.Visible;
break;
case "176.9.63.137":
image16.Visibility = Visibility.Visible;
break;
case "94.232.174.83":
image18.Visibility = Visibility.Visible;
break;
case "205.234.185.14":
image20.Visibility = Visibility.Visible;
break;
case "199.15.160.100":
image22.Visibility = Visibility.Visible;
break;
}
}

else
{
listBox1.Items.Add(replay.Address.ToString() + "is Offline");
switch (replay.Address.ToString())
{
case "74.125.225.193":
image1.Visibility = Visibility.Visible;
break;
case "74.125.225.192":
image3.Visibility = Visibility.Visible;
break;
case "174.36.84.92":
image5.Visibility = Visibility.Visible;
break;
case "24.246.192.8":
image7.Visibility = Visibility.Visible;
break;
case "69.55.53.89":
image9.Visibility = Visibility.Visible;
break;

case "199.195.128.4":
image11.Visibility = Visibility.Visible;
break;
case "216.245.214.165":
image13.Visibility = Visibility.Visible;
break;
case "176.9.63.137:":
image15.Visibility = Visibility.Visible;
break;
case "94.232.174.83":
image17.Visibility = Visibility.Visible;
break;
case "205.234.185.14":
image19.Visibility = Visibility.Visible;
break;
case "25.15.160.100":
image19.Visibility = Visibility.Visible;
break;
}
}
}
}

catch (PingException px)
{
listBox1.Items.Add(px.Message);
}
catch (Exception ex)
{
listBox1.Items.Add(ex.Message);
}
}
}
}

hamid_hr
دوشنبه 06 آذر 1391, 16:23 عصر
سلام
تو لود برنامه اینو بزن
CheckForIllegalCrossThreadCalls = false;