C# form

mekmühh

Üye
Katılım
31 Mar 2020
Mesajlar
70
Puanları
1
Yaş
26
Merhaba
c# da bir form da yaptığımız tasarımı diğer formlara da uygulayabilir miyiz ? Yani form1 de iki tane buton koydum , bu butonlar form 2 de de aynı işi yapacak ayrı bir kod yazmadan . Teşekkürler .
 
Formların bileşenleri, tasarımları, kodları kendine özgü olduğu için böyle bir şey mümkün değil.
Sadece paylaşılan değişken veya sabitler formlardan bağımsız olarak çağırılarak kullanılabilir.

Form1.cs > Kod dosyası
Form1.Designer.cs > Bileşenler dosyası
Form1.resx > Kaynak dosyası

Her Form, bu 3 dosyadan oluşur, her formun yapısı farklıdır.
 
Son düzenleme:
stackoverflow 'da ingilizce aratarak cevabını bulabilirsin.
 
stackoverflowda 12 yıllık yüksek puanlı hesabım var, oradan sorun oradan cevap vereyim, arkadaş beğenmemiş bu siteyi.
 
Yapabilirsin

Öncelikle yeni bir sınıf ekle ( static olcak )
Sınıfın içerisine bir Metod ekle ( o da static olsun)

Ardında istediğin herhangi bir formdaki istediğin event içerisinden SınıfAdı.Metod(); şeklinde metodu çalıştırabilirsin.
 
stackoverflowda 12 yıllık yüksek puanlı hesabım var, oradan sorun oradan cevap vereyim, arkadaş beğenmemiş bu siteyi.
12 yıllık yüksek puanlı hesabı olan biri olarak bir işlemin birden fazla yolu olduğunu sizin benden daha iyi bilmeniz lazım. Siz bir öneri sunmuşsunuz ,ben sizin önerinize yanlış demedim. Stackoverflow'da başka çözümlerde bulabilirsin diye yazdım konu sahibine.

Size nacizane hayat tavsiyesi çok bildim diyen çok yanılır. Size hitap edilmediği müddetçe de üstünüze alınmanıza gerek yok.
 
Yanılacak bir durum yok hocam, cevabımda değişken ve sabitlerin çağırılabildiğini ben de yazmıştım, fakat soru sahibinin sorduğu şey verilen o yanlış cevaplar değil, konuya gelirse daha iyi aydınlatır.
Her button her forma yerleştiğinde çalışabilmesi için event'ına kod girmeniz gerekir, ilgili forma ilgili event kodunu girmeden copy paste ile form oluşturarak aynı kodları ÇALIŞTIRAMAZSINIZ.
Sorulan sorular da çok temel ve üstünkörü, kodları görerek daha net cevaplar verilebilir.
 
Son düzenleme:
teşekkür ederim , form açarak değil de tab control kullanarak hallettim
datagridview de veri kaydediyorum , kaydet e tıkladığım da veriyi kaydederken içinde herhangi bir hücre boşsa uyarı vermesini istiyorum , aslında yaptım ama şöyle bi sıkıntı var ya boş olan hücre kadar hata veriyor ya da uyarıya tamam dedikten sonra kayıt ediyor .
 
Son düzenleme:
Kodlarının sıkıntı yaşadığın kısmını paylaşırsan yardımcı olabiliriz.
 
Kod:
void kontrol()

        {

            String veri = "";





            for (int i = 0; i < dataGridView2.RowCount; i++)



            {



                for (int f = 0; f < dataGridView2.ColumnCount; f++)



                {



                    if (dataGridView2.Rows.Cells[f].Value != null)

                    {

                        veri = dataGridView2.Rows.Cells[f].Value.ToString();

                        // if (veri.StartsWith("") == true)

                        //  { MessageBox.Show(veri); }

                    }

                    else

                    {

                        MessageBox.Show("lütfen boş alanları doldurunuz");



                    }

                }







private void bt_kaydet_Click(object sender, EventArgs e)

        {

            kontrol();



            // bos_satır_var == 0



            if (dataGridView2.Rows.Count > 0)

            {

                int satirsayisi = dataGridView2.RowCount;

                satirsayisi = satirsayisi - 1;

                XmlDocument xdoc = new XmlDocument();

                XmlNode root = xdoc.CreateElement("receteler");

                xdoc.AppendChild(root);



                while (satirsayisi > satir)

                {



              //burada datagrid de n aldığım degerler var



                    satir++;

                }



                using (SaveFileDialog sf = new SaveFileDialog())

                {

                    sf.Filter = "XML Dosyası|*.xml";

                    if (sf.ShowDialog() == DialogResult.OK)

                    {

                        xdoc.Save(sf.FileName);

                        MessageBox.Show($"{sf.FileName} dosyası oluşturuldu");

                    }



                }

            }

            else

            {

                MessageBox.Show("lütfen boş alanları doldurunuz");

            }
 
Moderatör tarafında düzenlendi:
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…