ورود

View Full Version : مشکل با ترد



sonicuser
چهارشنبه 29 خرداد 1392, 09:22 صبح
تویه wpf برای این کد کدی هست که به Thread ها کاری نداشته باشه مثل این:متفکر:
Control.CheckForIllegalCrossThreadCalls = False


تویه کدم خیلی نیاز دارم که textbox با list box هارو تغیر بدم ولی نمی دونم چطوریه

این کدمه
Private Sub Arrived(ByVal sender As Object, ByVal e As System.Management.EventArrivedEventArgs) Handles m_MediaConnectWatcher.EventArrived



mbo = CType(e.NewEvent, ManagementBaseObject)

obj = CType(mbo("TargetInstance"), ManagementBaseObject)

Select Case mbo.ClassPath.ClassName
Case "__InstanceCreationEvent"
If obj("InterfaceType") = "USB" Then
ghabole = False
TextBox1.Text = obj("Caption")
getserialnum()
caption = obj("Caption")
TextBox2.Text = snasli
' srial = obj("SerialNumber")
TextBox3.Text = GetDriveLetterFromDisk(obj("Name"))
drive = GetDriveLetterFromDisk(obj("Name"))
check()

End If
Case "__InstanceDeletionEvent"
If obj("InterfaceType") = "USB" Then
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""

End If
Case Else
' MsgBox("nope: " & obj("Caption"))
End Select
End Sub
ترو خدا اگه میشه ی راهنمایی در مورد کار با Thread توی wpf بکنید :گریه:
ممنون :قلب:

تو سایت گشتم ولی توضیحاتشونو نفهمیدم

tooraj_azizi_1035
چهارشنبه 29 خرداد 1392, 15:20 عصر
به روز رسانی UI از طریق شیء Dispatcher:


// The Work to perform on another thread
ThreadStart start = delegate()
{
// ...

// Sets the Text on a TextBlock Control.
// This will work as its using the dispatcher
Dispatcher.Invoke(DispatcherPriority.Normal,
new Action<string>(SetStatus),
"From Other Thread");
};
// Create the thread and kick it started!
new Thread(start).Start();


به روز رسانی به شکل ناهمگام:


// The Work to perform on another thread
ThreadStart start = delegate()
{
// ...

// This will work as its using the dispatcher
DispatcherOperation op = Dispatcher.BeginInvoke(
DispatcherPriority.Normal,
new Action<string>(SetStatus),
"From Other Thread (Async)");

DispatcherOperationStatus status = op.Status;
while (status != DispatcherOperationStatus.Completed)
{
status = op.Wait(TimeSpan.FromMilliseconds(1000));
if (status == DispatcherOperationStatus.Aborted)
{
// Alert Someone
}
}
};

// Create the thread and kick it started!
new Thread(start).Start();



منبع: http://msdn.microsoft.com/en-us/magazine/cc163328.aspx

sonicuser
چهارشنبه 29 خرداد 1392, 16:06 عصر
ممنون ولی درست متوجه نشدم .یعنی من الان باید چیکار کنم تمام دستوراتمو باید تغیر بدم؟؟:ناراحت:

sonicuser
پنج شنبه 30 خرداد 1392, 11:24 صبح
بچها تروخدا یکی جواب بده خیلی لازم دارم:گریه:

sonicuser
شنبه 01 تیر 1392, 11:57 صبح
یعنی هیچکس نمیدونه مشکل کجاست؟؟؟؟؟

رضا عربلو
شنبه 01 تیر 1392, 14:52 عصر
دوست عزیز کار با Tread در WPF با Windows Forms فرق داره. به منبعی که در پست 2 داده شده مراجعه کن.
همچنین آموزشی از نحوه کار با tread : http://msdn.microsoft.com/en-us/library/ms741870.aspx

sonicuser
شنبه 01 تیر 1392, 16:16 عصر
ممنوووون .میشه تو کد خودم یکم راهنماییم کنید؟؟ زبانم ضعیفه

sonicuser
دوشنبه 03 تیر 1392, 14:36 عصر
هیچکس نمیدونه یعنی من باس چیکار کنم؟؟؟ بابا توروخدا مدیران جواب بدن......:ناراحت:

کدمو گذاشتم ، تو کدم راهنماییم کنید...
مشکل اینه که من تو برنامم نمیتونم مقدار داخل تکست باکسامو یا لیستامو تغیر بدم