vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: habe schon einen thread der mittels delegate eine button erstellen kann, aber... 
Autor: ModeratorDaveS (Moderator)
Datum: 12.11.04 12:23

>>aber ein zweites mal kann ich den thread im idle nicht starten

Warum? Obwohl man fragen könnte, wenn du das nur machst in Application.Idle, wenn das Hauptthread ohnehin keine Arbeit hat, warum mit einem anderen Thread?

So könntest du dein Thread immer wieder motivieren weiterzulaufen wenn App.Idle ausgelöst wird.
Public Class Form1
    Inherits System.Windows.Forms.Form
 
    Private Shared we As New ManualResetEvent(False)
    Private Shared T As Thread
    Private closeDown As Boolean
 
#Region " Windows Form Designer generated code "
 
    Public Sub DoThread()
        Do While Not closeDown
            we.WaitOne()
            Debug.WriteLine("Thread running")
            we.Reset()
        Loop
    End Sub
 
    Private Sub appIdle(ByVal sender As Object, ByVal e As EventArgs)
        Debug.WriteLine("App Idle")
        we.Set()
    End Sub
 
 
    Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
        AddHandler Application.Idle, AddressOf appIdle
        T = New Thread(AddressOf DoThread)
        T.Start()
    End Sub
 
 
    Protected Overrides Sub OnClosing(ByVal e As _
      System.ComponentModel.CancelEventArgs)
        closeDown = True
        we.Set()
        T.Join()
    End Sub
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button1.Click
        Debug.WriteLine("Button clicked")
    End Sub
 
End Class
Du wirst vielleicht überrascht sein wie oft App.Idle aufgerufen wird. Übrigens wenn du ein ArrayList in zwei Threads ansprichst solltest du das mit SyncLock() synchronisieren oder mindestens ArrayList.Synchronized benutzen.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
erstellen eines buttons mittels thread6.251spike2410.11.04 16:52
Re: erstellen eines buttons mittels thread4.631ModeratorDaveS10.11.04 17:14
Re: erstellen eines buttons mittels thread4.643spike2411.11.04 09:08
Re: erstellen eines buttons mittels thread4.650ModeratorDaveS11.11.04 09:54
Re: erstellen eines buttons mittels thread4.577spike2411.11.04 10:28
Re: erstellen eines buttons mittels thread4.600ModeratorDaveS11.11.04 11:52
Re: erstellen eines buttons mittels thread4.634spike2411.11.04 12:09
habe schon einen thread der mittels delegate eine button ers...4.638spike2412.11.04 10:11
Re: habe schon einen thread der mittels delegate eine button...4.663ModeratorDaveS12.11.04 10:41
Re: habe schon einen thread der mittels delegate eine button...4.640spike2412.11.04 10:56
Re: habe schon einen thread der mittels delegate eine button...4.656ModeratorDaveS12.11.04 12:23
Re: habe schon einen thread der mittels delegate eine button...4.573spike2412.11.04 13:23
Re: habe schon einen thread der mittels delegate eine button...4.644ModeratorDaveS12.11.04 13:34
Re: habe schon einen thread der mittels delegate eine button...4.530spike2412.11.04 13:49
Re: habe schon einen thread der mittels delegate eine button...4.585ModeratorDaveS12.11.04 14:08
Re: habe schon einen thread der mittels delegate eine button...4.607spike2412.11.04 15:05
Re: habe schon einen thread der mittels delegate eine button...4.645ModeratorDaveS12.11.04 15:16
Re: habe schon einen thread der mittels delegate eine button...4.564spike2412.11.04 15:31
Re: habe schon einen thread der mittels delegate eine button...4.641ModeratorDaveS12.11.04 15:35

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel