none
2 ayrı işlemi 1 işlem için kullanmak.

    Soru

  • Merhaba arkadaşlar

    BUTTON1 CLİCK

    {

    LİSTBOXTA BULUNAN SİTEYE GİR.

    DOCUMENT TEXTİNİ RİCTEXTBOX1 AT.

    BACKGROUND CALIŞTIR

    }

    background worker..

    {

    {

    GEREKLİ İŞLEMLERİ YAP

    }

    EGER GEREKLİ İŞLEMLER YAPILMIŞSSA BUTTON1 TIKLA

    }

    Böyle bi döngüyü nasıl kurabiliyorum arkadaşlara teşekkürler. 


    Tek amacım Ekmek param Programcılık zor iş derler Parası yok derlerdi inanmazdım Saglık olsun

    18 Haziran 2012 Pazartesi 17:44

Yanıtlar

  • Yaşar Bey selamlar,

    Sorunuzu doğru anladıysam Backgroundworker'ın IsBusy property'sine bakarak asenkron işlemin bitip bitmediğini kontrol edebilirsiniz.

    private void downloadButton_Click(object sender, EventArgs e)
    {
       
        this.backgroundWorker1.RunWorkerAsync();
    
       
        this.downloadButton.Enabled = false;
    
    
        while (this.backgroundWorker1.IsBusy)
        {
            progressBar1.Increment(1);
          
            Application.DoEvents();
        }
    }

    http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.isbusy.aspx

    Denedikten sonra geri dönüşte bulunursanız sevinirim.


    Microsoft bu servisi kullanıcılarına yardım etme, Microsoft ürünleri ve teknolojileriyle ilgili bilgi bankasını genişletme amacıyla ücretsiz sunmaktadır.
    Bu içerik olduğu gibi benim tarafımdan hazırlanmış olup Microsoft tarafından herhangi bir sorumluluk üstlenildiği anlamına gelmez.
    Facebook Üzerinden Takip Et!
    Twitter'da Takip Et!

    • Yanıt Olarak İşaretleyen Yaşar Tunç 22 Haziran 2012 Cuma 19:32
    21 Haziran 2012 Perşembe 10:55

Tüm Yanıtlar

  •         private void listBoxControl1_DoubleClick(object sender, EventArgs e)
            {
                string url = listBoxControl1.SelectedItem.ToString();
                Process.Start("chrome.exe", url);
            }
    ilk satırdan sonra valla bir şey anlamadım çok geniş cümleler konuşmuş sun gerekli işlemleri yap backgrorund çalıştır vsvs
    18 Haziran 2012 Pazartesi 19:00
  • thread kullanman gerekir sanki yanlış anlamamışsam, biraz daha detay vermelisin 
    19 Haziran 2012 Salı 00:26
  • amac şu  buttona basınca background calışsın backgorunddaki for döngüsü bitince herhangi bi döngü yani tekrar buttona basılsın.
    19 Haziran 2012 Salı 01:04
  • Oncelikle burada buton1'e yeniden tiklamayi gerektirecek bir durum yok. Algoritmani yanlis kurmussun.

    buton1.Click { MyMethod(); } MyMethod() { while (true) { // listboxtaki adresi al // icerigini richtexbox'a yukle

    // Background "calistir ne demek"

    } }

    Ortalikta ben calisacak birsey gormuyorum. Listboxtakini tekrar tekrar RichTextbox'a eklemenin de esprisini anlamadim. Her neyse, unutma thread degistiriyorsan UI elementlere dogrudan ulasamazsin. C# 5.0'da ana tema ASync programlama. Onunla bu isler cok daha kolay. Yine de su anda TPL bence BackgroundWorker'dan daha iyi bir secim olur gibi geliyor:

    http://msdn.microsoft.com/en-us/library/dd537609

     
    19 Haziran 2012 Salı 10:08
  • button1_click()

    {

    webborser1.navigate[a++];   // kısadan yazdsım mantıgı anlaşın yeter 

    rictextbox1.text=webbrowser1.document.body.ınnertext;

    bacgorundwordker.runwordkerasc(); 

    }

    backgorund....

    {

    if(rictextbox1.text.contains("@"))

    {

    Messegebox.show(@var);

    for(100 count)

    {


    }

    döngü bittiginde ise  tekrar button1 e tıklıcak.

    ardından bacground calışcak tıklandıgı için

    sürekli bi döngü olucak.   BÖYLE BİŞEY YAPMAYA CALIŞTIM yapamadım yardımcı olacak arkadşalara teşkekürler

    }

    19 Haziran 2012 Salı 11:53
  • Merhaba yasar tunc

    amaçladığın şeyi anlamak ile beraber.. madem tekrar istediğin bir buttonun çalışmasını istiyorsun... döngünün her hangi bir yerinde BTN nin tekrar çalışmasını istediğin yere .

    btnTest.PerformClick();

    gibi bir şey ekleyebilirsin?


    Jesus Promised The End Of All Wicked People, ODIN Promised The End Of All Ice Giants. I Don't See Many Ice Giants Around... exe[nokta]cute[at]live[nokta]com

    19 Haziran 2012 Salı 12:42
  • Hatalar alıyorum neden ise bacgorund worker halen calışıyor isminde hata alıyorum  background.cancelwrksaacs() kullandım buda olmadı (:
    20 Haziran 2012 Çarşamba 02:53
  • Yaşar Bey selamlar,

    Sorunuzu doğru anladıysam Backgroundworker'ın IsBusy property'sine bakarak asenkron işlemin bitip bitmediğini kontrol edebilirsiniz.

    private void downloadButton_Click(object sender, EventArgs e)
    {
       
        this.backgroundWorker1.RunWorkerAsync();
    
       
        this.downloadButton.Enabled = false;
    
    
        while (this.backgroundWorker1.IsBusy)
        {
            progressBar1.Increment(1);
          
            Application.DoEvents();
        }
    }

    http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.isbusy.aspx

    Denedikten sonra geri dönüşte bulunursanız sevinirim.


    Microsoft bu servisi kullanıcılarına yardım etme, Microsoft ürünleri ve teknolojileriyle ilgili bilgi bankasını genişletme amacıyla ücretsiz sunmaktadır.
    Bu içerik olduğu gibi benim tarafımdan hazırlanmış olup Microsoft tarafından herhangi bir sorumluluk üstlenildiği anlamına gelmez.
    Facebook Üzerinden Takip Et!
    Twitter'da Takip Et!

    • Yanıt Olarak İşaretleyen Yaşar Tunç 22 Haziran 2012 Cuma 19:32
    21 Haziran 2012 Perşembe 10:55