السلام عليكم اخوتى
اريد عمل مثل ما بالصورة بحيث اننا وضعت خمس برامج exe فى CheckedListBox1
ولما اضغط على تصطيبهم أعرف ما يتم تنصيبه حاليا لآن هذه البرامج صامتة فلا تظهر
أثناء تصطيبهم ولما ينتهى منهم جميعا يظهر لى رسالة بالانتهاء ...
وهذا هو كود تنصيب البرامج لكن به خطأ مش عارف ليه
لآنى اريده يصطب ما احدده انا فقط ويتجاهل الباقى لكن هذا يصطبهم كلهم ويظهر الرسالة بعد
تصطيب كل برامج وانا اريد الرسالة تظهر فقط عند االانتهاء من كل البرامج التى تم اختيارها
كود :
For I = 0 To CheckedListBox1.CheckedItems.Count - 1
Process.Start(CheckedListBox1.CheckedItems(I)).WaitForExit()
Next
MsgBox(" تم الانتهاء من تصطيب كل البرامج")
(07-10-17, 11:03 PM)a.ahmed كتب : [ -> ]PHP كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim thread As New Threading.Thread(AddressOf installation) With {.IsBackground = True}
thread.Start()
End Sub
Sub installation()
If CheckedListBox1.CheckedItems.Count > 0 Then
Me.Invoke(Sub() Me.Enabled = False)
'Button1.Invoke(Sub() Button1.Enabled = False)
For Each itm In CheckedListBox1.CheckedItems
ToolStripStatusLabel1.Text = itm
Process.Start(itm).WaitForExit()
Next
'Button1.Invoke(Sub() Button1.Enabled = True)
Me.Invoke(Sub() Me.Enabled = True)
ToolStripStatusLabel1.Text = "تم الانتهاء من تصطيب كل البرامج"
MsgBox("تم الانتهاء من تصطيب كل البرامج")
End If
End Sub
ماشاء الله عليك استاذ احمد فعلا نجحت أخى...
يبدو أن الأغلبية هنا بالفعل مبدعين ماشاء الله...
ربنا يجزيك كل الخير والسعادة.......
بقولك يا استاذ احمد :-
لو أحببت أن أجعل الListViewEx1 بدلا من CheckedListBox1 ماذا افعل لو سمحت ؟؟
(08-10-17, 09:10 AM)a.ahmed كتب : [ -> ]PHP كود :
[align=center]Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click[/align]
[align=center] If ListViewEx1.CheckedItems.Count > 0 Then[/align]
[align=center] ProgressBar1.Style = ProgressBarStyle.Continuous[/align]
[align=center] ProgressBar1.Maximum = 1[/align]
[align=center] ProgressBar1.Maximum = ListViewEx1.CheckedItems.Count[/align]
[align=center] Dim thread As New Threading.Thread(AddressOf installation) With {.IsBackground = True}[/align]
[align=center] thread.Start()[/align]
[align=center] End If[/align]
[align=center]End Sub[/align]
[align=center][/align]
[align=center]Sub installation()[/align]
[align=center][/align]
[align=center] Me.Invoke(Sub() Me.Enabled = False)[/align]
[align=center] 'Button1.Invoke(Sub() Button1.Enabled = False)[/align]
[align=center][/align]
[align=center] For Each itm As ListViewItem In ListViewEx1.Invoke(Function() ListViewEx1.CheckedItems.Cast(Of ListViewItem).ToArray)[/align]
[align=center] Dim s As String = itm.Text[/align]
[align=center] ToolStripStatusLabel1.Text = s[/align]
[align=center] Process.Start(s).WaitForExit()[/align]
[align=center] ProgressBar1.Invoke(Sub() ProgressBar1.Increment(1))[/align]
[align=center] Next[/align]
[align=center][/align]
[align=center] 'Button1.Invoke(Sub() Button1.Enabled = True)[/align]
[align=center] Me.Invoke(Sub() Me.Enabled = True)[/align]
[align=center][/align]
[align=center] ToolStripStatusLabel1.Text = "تم الانتهاء من تصطيب كل البرامج"[/align]
[align=center] MsgBox("تم الانتهاء من تصطيب كل البرامج")[/align]
[align=center][/align]
[align=center]End Sub[/align]
[align=center][/align]
تعبتك معايا عارف والله لكن لا أعلم من أين هذا الخطأ ؟؟
خلاص يا استاذ احمد عملتها وحاولت معاها الحمدلله.....
ربنا يكرمك ويبارك بعمرك ويزيدك من علمه.