c# tıklanan butonun resmini değiştirme

Sefa Kuru
06-10-2017, 22:04   |  #1  
Sefa Kuru avatarı
OP Taze Üye
Teşekkür Sayısı: 0
5 mesaj
Kayıt Tarihi:Kayıt: Eyl 2017

İyi günler arkadaşlar.

Dinamik olarak veri tabından çekilen verilere göre buton oluşturuyorum. Butonun clik eventine resim ekleme kodunu yazdım ama butonun name kısmı string olduğundan dolayı resimdeki gibi hata veriyor.

Butonun oluşturma kodlarını da vereyim

foreach(DetailsCategoryinAllCategories){var btn =newSimpleButton();
            
                    btn.Dock=System.Windows.Forms.DockStyle.Fill;
                    btn.Text=Category.Name;

                    btn

.Name=Category.ID.ToString();
                    btn.Appearance.Font=newSystem.Drawing.Font("Tahoma",10F,System.Drawing.FontStyle.Bold);
                    btn.Appearance.ForeColor=System.Drawing.Color.White;

                    btn

.Appearance.Options.UseBackColor=true;
                    btn.ButtonStyle=DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
                    btn.Appearance.BackColor=System.Drawing.Color.FromName(Category.Color);
                    btn.Image=global::DXApplication8.Properties.Resources.sag;
           
                    btn.Tag=Category.ID;var sefaaa =Category.ID;
                    tableLayoutPanel2.Controls.Add(btn);

                    btn

.Click+=CategoryButtonClick;
            
                btn.PerformClick();


}

Şimdiden herkese teşekkürler.

Son Düzenleme: Sefa Kuru ~ 06 Ekim 2017 22:04 Neden:
White-Fox
07-10-2017, 00:55   |  #2  
White-Fox avatarı
Yıllanmış Üye
Teşekkür Sayısı: 155
1,103 mesaj
Kayıt Tarihi:Kayıt: Eyl 2010

derleyicinin de dediği gibi name'in bir image niteliği yok.

var buttonName = btn.Name;
  
    var button = Controls[buttonName] as Button;
    if (button != null) // boyle bir Button var
    {
        //yapılması gereken şey
    }

//şeklinde denenebilir.

Sefa Kuru
07-10-2017, 05:24   |  #3  
OP Taze Üye
Teşekkür Sayısı: 0
5 mesaj
Kayıt Tarihi:Kayıt: Eyl 2017

Maalesef olmadı

             var buttonName = btn.Name;

            var button = Controls[buttonName] as SimpleButton;
            if (button != null) // boyle bir Button var
            {
               
                button .Image = global::DXApplication8.Properties.Resources.sag;
                button .ImageLocation = DevExpress.XtraEditors.ImageLocation.TopRight;
            }

TubaKoseoglu
02-11-2017, 11:36   |  #4  
Taze Üye
Teşekkür Sayısı: 0
8 mesaj
Kayıt Tarihi:Kayıt: Eki 2012

btn.Name.Image yerine btn.Image kullanmak gerek kabul etmesi lazım bunu