Visual Stdio Dinamik Nesne Oluşturma

Başlatan universitelim54, 29 Mayıs 2016, 13:26:05

universitelim54

Mrb Arkadaşlar

Form üzerinde bir butonum mevcut bu butona tıklandıgında yanında 1 ve altında 2 adet daha buton olusmasını ıstıyorum.yenı olusan butona tıkladıgımdada aynı obolayı tekrarlayacak.Ayrıca hangı butonu tıklarsam uzerınde bır listbox acılacak ve listboxtan sectıgım deger sectıgım butonnun text ozellıgıne ekleneek... uzman arkadasların yarımını rıca ederıyorum .

serdararikan


universitelim54

Kardeşlerimizi elin gavuru lime lime parçalarken biz susmamalıyız.Asker askerliğini mühendis mühendisliğini en iyi şekilde yapmalı diye düşünüyorum şu sıkıntıda bana yardım edermisin nasıl butonları oluşturabiliyorum listboxda acılıyor ancak sec dediğimde işlem yapamıyorum

serdararikan

Aslına bakarsan c# ı yeni yeni öğreniyorum.olaya tam hakim değilim

universitelim54

uzaman arkadaslardan yarım ısteyecegız o zaman lutfen yardım edın arkadaslar

tunayk

Buton veya diğer kontroller, formun kontroller kısmına eklenir.

private void button3_Click(object sender, EventArgs e)
        {
            Button btn = new Button();
            btn.Text = "xcv";
            btn.Size = button3.Size;
            btn.Location = new Point(button3.Location.X, button3.Location.Y + button3.Height + 2);
            btn.Font = button3.Font;
            this.Controls.Add(btn);
        }

bu şekilde yapılabilir.  Tıklama olayını da formda önceden oluşturduğun bir fonksiyona bağlarsan, tıklamayı da yakalarsın.  Nasıl bağlayacağını sorma. Biraz döküman okursan kolayca bulabilirsin. örnek olarak formunun .Designer.cs dosyasını inceleyebilirsin.

universitelim54

#6
cevap ıcın tsk ederım.. lakın butonları olusturabılıyorum sorun uzerınde acılan lıstboxtakı verıyı tıklanan butona atayabılmek benım kodum asagıdakı gıbı

private void btnOlustur_Click(object sender, EventArgs e)
       
        {
            listBox1.Location = new Point(button1.Location.X, button1.Location.Y);
            listBox1.Visible = true;

            for (int i = 0; i < 2; i++)
            {
                for (int j = 0; j < 2; j++)
                {
                    Button btn = new Button();
                    btn.Size = new System.Drawing.Size(35, 30);
                    btn.Text = j+i.ToString();
                    this.Controls.Add(btn);
                    btn.Click += new EventHandler(btn_Click);
                    if (j == 0)
                    {
                        btn.SetBounds(button1.Location.X + 80, button1.Location.Y, 80, 50);
                    }

                    else
                    {
                        btn.SetBounds(button1.Location.X, button1.Location.Y + 50, 80, 50);
                     }
                }
            }

        }

        void btn_Click(object sender, EventArgs e)
        {

            for (int i = 0; i < 2; i++)
            {
                for (int j = 0; j < 2; j++)
                {
                    Button btn = new Button();
                    btn.Size = new System.Drawing.Size(35, 30);
                   

                    btn.Text = j + i.ToString();
                    btn.Name = j + 2.ToString();
                    btn.SetBounds(btn.Location.X + 80, btn.Location.Y, 80, 50);
                    this.Controls.Add(btn);
                    btn.Click += new EventHandler(btn_Click);
                    if (j == 0)
                    {
                        btn.SetBounds(btn.Location.X + 80, btn.Location.Y, 80, 50);
                    }

                    else
                    {
                        btn.SetBounds(btn.Location.X, btn.Location.Y + 50, 80, 50);
                    }
                }
            }



               

              }



mesaj birleştirme:: 29 Mayıs 2016, 14:32:52

ılk buton olustur dedgımde tıklanan butonun altında ve ustunde duzgun buton olusuyor yenı olusan butonları tıkladıgımda olusan butonlar bu kez sayfanın en ustunde olusuyor... ve halen uzerınde acılan lıstboxtakı verıyı baglayamadım ...

tunayk

#7
Ne yapmaya çalışıyorsun tam anlayamadım ama sanırım tıkladığın butonun da etrafında buton oluşturacaksın . Aslında dikkatli bakarsan farkı görebilirsin.  Oluştur kısmında etrafında oluşturduğun butonun konumunu referans almışsın.  Click içinde zaten yeni oluşturduğun elemanı baz almışsın.  Doğal olarak da x ve y default değerli olduğu için bu durumdasın. Sender nesnesi ile ilgilen derim.

universitelim54

PLC edıtor yapmaya calısıyorum... bıraz karısık iş