İçeriğe geç

3 Yorum

  1. Aykut Aykut

    Thread’leri ogrenmeye baslamistim ki bu control cikti karsima. Sizin videonuz sayesinde kullanimini kavradim. Tesekkurler.

  2. Ceyhun KEKLİK Ceyhun KEKLİK

    Bir sorum olacak yanıtlarsanız çok sevinirim. Anlattıklarınızı yeni yeni öğrenmeey başlamıştm sayenizde iyice kavradım ancak önemli bir durum daha var ve işin içinden çıkamadım.Sorum Şu;
    ———————————————————
    My.Computer.Network.UploadFile(TextBox1.Text, “Ftp://xxx:xxx@ftp.ceyhunkeklik.com/httpdocs/ftpdeneme/” & filename.ToString)
    ———————————————————

    bu kodla büyük bir dosya upload ederken o anda ben;
    ———————————————————
    Dim request As FtpWebRequest = FtpWebRequest.Create(“ftp://xxx:xxx@ftp.ceyhunkeklik.com/httpdocs/ftpdeneme/” & filename.ToString)
    request.Method = WebRequestMethods.Ftp.GetFileSize
    Dim datalenght
    datalenght = request.GetResponse.ContentLength
    ProgressBar1.Value = datalenght

    ———————————————————
    bunu yapmak istiyorum. Ancak aynı anda çalışmıyorlar bunu nasıl başarabilirim…

  3. Musa Doğramacı Musa Doğramacı

    Konuyla ilgili bi paylaşımım vardı faydası olur diye paylaşıyorum

    F.W 3.5’ta bulunan BackgroundWorker sınıfı thread yönetimini kolaylaştırıyor. Genelde bununla ilgili örnekler verildiği zaman progress ile ilgili görüntüsünü göstermek için 1den 10a kadar döngüyü çalıştırıp örneklendiriyorlar. Gerçekte bize lazım olan reel ilerleme zamanıdır ya da reel durumdur. Bunu timer ile birlikte kullanınca reelliği yakalayabiliyoruz. Bununla ilgili çok basit kavraya bileceğimiz bir örneğimiz olacak.

    Mesela Mernis Sorgusunu ele alalım. Mernis sorgusu bitenekadar
    lblDurum label’i(Progressbar yerine label kullandım) üzeinde noktalar ilerleyecektir.

    Sorgu sonuçlanınca da ilerleme duracaktır.

    Gerekli Using’ler
    using System;

    using System.ComponentMod el;

    using System.Windows;

    using WpfApplication1. MernisService;

    //Mernis Sorgusu için webservisini eklemek gerekiyor projeye
    //bendeki webservisin adı MernisService’ dir.

    #region Mernis
    private BackgroundWorker _bgWorkerMernis;
    private System.Timers.Timer _timer;
    private void GetMernis()
    {
    _bgWorkerMernis = new BackgroundWorker();
    _bgWorkerMernis. WorkerReportsPro gress = true;
    _bgWorkerMernis. WorkerSupportsCa ncellation = true;
    _bgWorkerMernis. DoWork += _bgWorkerMernis_ DoWork;
    _bgWorkerMernis. RunWorkerComplet ed += _bgWorkerMernis_ RunWorkerCompleted;
    _bgWorkerMernis. ProgressChanged += _bgWorkerMernis_ ProgressChanged;
    lblDurum.Content = “Mernis Sorgusu Yaplyor “;
    _bgWorkerMernis. RunWorkerAsync( 11111111111) ;//TcKimlikNo
    }
    void _timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
    {
    if (_bgWorkerMernis. IsBusy)
    {
    _bgWorkerMernis. ReportProgress( 0);
    }
    }
    void _bgWorkerMernis_ DoWork(object sender, DoWorkEventArgs e)
    {
    _timer = new System.Timers.Timer(10);
    _timer.Enabled = true;
    _timer.Elapsed += new System.Timers.ElapsedEventHandler(_timer_Elapsed) ;
    _timer.Start( );

    MernisService.ServiceSoapClient service = new ServiceSoapClient();
    e.Result = service.TCKimlikNoS orgula(0, “sifre”, Convert.ToInt64(e.Argument ));//argument Tc Kimlik No tutuyor
    }
    void _bgWorkerMernis_ ProgressChanged(object sender, ProgressChangedEven tArgs e)
    {
    lblDurum.Content += “.”;
    }
    void _bgWorkerMernis_ RunWorkerComplet ed(object sender, RunWorkerCompletedE ventArgs e)
    {
    _timer.Stop( );
    string ad = ((MernisService.TCKimlikNoKisiBilgi) e.Result).Ad;
    //…diğer bilgileri ilgili alanlara set etmek gerekiyor.
    }
    #endregion

Bir cevap yazın