none
Buton_Click Olayı ile ilgili RRS feed

  • Soru

  • Arkadaşalr selam benim projemde bir form var bu formda yaklaşık 15 adet buton var. Bu butonlardan her hangi birine tıklandığı zaman alt taraftaki textboxta butonun texti yer alıcak ama hepsinin ayrı ayrı click olaylarına kod mu yazmam gerekiyor yoksa bir döngüyle nasıl halledilebilir, Kolay gelsin Esenlikler
    8 Nisan 2016 Cuma 16:24

Yanıtlar

Tüm Yanıtlar

  • Tek olayda halledebilirsin

    private void ButtonTikla(object sender, EventArgs e)
    {
    Button  Btn= (Button)sender;
    }

    sonrasında diğer butonların click olaylarına 

    Button Btn = new Button();
    Btn.Click += ButtonTikla;
    Textbox1.Text = Btn.Text;

    8 Nisan 2016 Cuma 16:32
  • Döngü olarak da eğer buton değerlerini DB den alıyorsan flowlayout panel kullanabilirsin. For ile dbdeki değerli döndürür ürettiğin butunla ilişkilendirip panel.controls.add() içerisinde tekrarlatabilirsin. bir çok yolu var yani
    8 Nisan 2016 Cuma 16:34
  • İlginize teşekkürler ancak verdiğiniz kod ile diğer tabpagemdeki txtboxa veri gitmiyor malesef
    8 Nisan 2016 Cuma 17:12
  • Breakpoint ile takip edin Nerede takıldığı belli olacaktır. Bunun için global değişken de tanımlayabilir değişken üzerinden de veri aktarımı yapabilirsiniz
    8 Nisan 2016 Cuma 17:16
  •  private void BtnAdYaz(Control b)
            {
                label1.Text = b.Text;
            }

            private void button1_Click(object sender, EventArgs e)
            {
                BtnAdYaz((Button)sender);
            }

            private void button2_Click(object sender, EventArgs e)
            {
                BtnAdYaz((Button)sender);
            }


    http://pgnchess.com

    8 Nisan 2016 Cuma 17:56
  • Arkadaşalr selam benim projemde bir form var bu formda yaklaşık 15 adet buton var. Bu butonlardan her hangi birine tıklandığı zaman alt taraftaki textboxta butonun texti yer alıcak ama hepsinin ayrı ayrı click olaylarına kod mu yazmam gerekiyor yoksa bir döngüyle nasıl halledilebilir, Kolay gelsin Esenlikler

    Aşağıdaki kodu inceleyin istediğinizi yapacaktır kod.

    public class Form1 : Form
    {
    	public Form1()
    	{
    		InitializeComponent();
    		//Eğer butonların direkt formun üzerindeyse container=this; demen yeterli 
    		//Ama eğer butonların başka bir kontrolün içindeyse (mesela bir panel diyelim) o zaman container=this.panel1; şeklinde belirtmen lazım
    		Control container = this;
    
    		//Foreach döngüsü ile örnek.
    		foreach (Control ctr in container.Controls)
    		{
    			if (ctr is Button)
    			{
    				var button = ctr as Button;
    				button.Click += ButtonClick;
    			}
    		}
    
    		//Linq ile örnek
    		container.Controls.OfType<Button>().ToList().ForEach(button => button.Click += ButtonClick);
    	}
    
    	private void ButtonClick(object sender, EventArgs e)
    	{
    		Button btn = sender as Button;
    		txtResult.Text = btn.Text;
    	}
    }


    oguzkurtcuoglu.com


    9 Nisan 2016 Cumartesi 00:21