Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

form1 yazılan değer anlık form2 yazdırma

Konu, 'C#' kısmında byjoker tarafından paylaşıldı.

  1. byjoker

    byjoker Üye

    Kayıt:
    18 Nisan 2013
    Mesajlar:
    168
    Beğenilen Mesajlar:
    0
    merhabalar arkadaşlar çok araştırdım fakat bulduklarım buton fonksiyonlu yapmak istediğim şöyle bir şey


    form1 de textBox yazdığım değer form2 de oluşturduğum textBox anlık görünmesini istiyorum mümkünmüdür.
     
  2. Yilmazx

    Yilmazx Üye

    Kayıt:
    16 Haziran 2017
    Mesajlar:
    28
    Beğenilen Mesajlar:
    10
    Şehir:
    istanbul
    $( "#form1elemani" ).keydown(function() {
    $( "#form2elemani" ).val( $( "#form1elemani" ).val() );
    });
     
  3. byjoker

    byjoker Üye

    Kayıt:
    18 Nisan 2013
    Mesajlar:
    168
    Beğenilen Mesajlar:
    0
    hocam olayda acemiyim nasıl kullanacağımı yazarmısın rica etsem
     
  4. Yilmazx

    Yilmazx Üye

    Kayıt:
    16 Haziran 2017
    Mesajlar:
    28
    Beğenilen Mesajlar:
    10
    Şehir:
    istanbul
  5. Yilmazx

    Yilmazx Üye

    Kayıt:
    16 Haziran 2017
    Mesajlar:
    28
    Beğenilen Mesajlar:
    10
    Şehir:
    istanbul
    Çok pardon ya, ben forumun tipine bakmadan cevap vermişim. Bu dediğim Jquery ile olan web çözümüydü.
     
  6. Yilmazx

    Yilmazx Üye

    Kayıt:
    16 Haziran 2017
    Mesajlar:
    28
    Beğenilen Mesajlar:
    10
    Şehir:
    istanbul
    c# bilmiyorum ama Google'da küçük bir araştırma yapınca aşağıdaki örneği buldum

    namespace örnek
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }

    private void textBox1_TextChanged(object sender, EventArgs e)
    {
    textBox2.Text = textBox1.Text;
    }
    }
    }
     
  7. byjoker

    byjoker Üye

    Kayıt:
    18 Nisan 2013
    Mesajlar:
    168
    Beğenilen Mesajlar:
    0
    teşekkür ederim arkadaşlar son eklenen kodda aynı form içinde yapılıyor benim istediğim form1 de yazılan değer anlık form 2 de çıkması
     
  8. crowlin

    crowlin Yeni Üye

    Kayıt:
    12 Mart 2018
    Mesajlar:
    1
    Beğenilen Mesajlar:
    0
    Şehir:
    bursa
    public static metodu ile yapabilirsiniz.
    öncelikle iki forma timer ekleyin inveral değerlerini 1 enabled değerini true yapın.
    değişkeni global tanımlayın şu şekilde kodlar

    public static string yazi; //global olacak
    form 1: timer1 in içine yazılacak :
    yazi = textBox1.Text;

    form 2: timer1 in içine yazılacak :
    textBox1.Text= Form1.yazi;
     
  9. wurucu

    wurucu Üye

    Kayıt:
    28 Ağustos 2008
    Mesajlar:
    138
    Beğenilen Mesajlar:
    7
    Meslek:
    Öğrenci
    Şehir:
    Mersin
    form2 içerisindeki textbox1 objesinin property listesindeki "Modifier" özelliğini "Public" olarak değiştir

    // Global değişken yerine (methodların dışında tanımla)
    Form2 frm = null;

    //Formu açacak olan button yada herhangibir yerde
    frm = new Form2();
    frm.Show();

    // Form1 textbox onchange eventinde
    frm.TextBox1.Text = this.TextBox1.Text;
     
  10. Furkan Onka Uğur

    Furkan Onka Uğur Moderatör Yetkili Kişi

    Kayıt:
    12 Eylül 2008
    Mesajlar:
    3,712
    Beğenilen Mesajlar:
    48
    Şehir:
    Ankara
    Bu yöntemler işe yarabilmesine rağmen yeterince esnek değil ve nasıl desem "overkill" oluyor.

    Bunun yerine singleton bir taşıyıcı sınıf kullanılabilir.
    Şöyle ki:
    Kod:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    namespace VeriTasima
    {
        public class VeriChangedEventArgs:EventArgs
        {
            public string Veri { get; set; }
        }
        public class SingletonTasiyici
        {
           
            public event EventHandler VeriChanged;
           
            protected virtual void OnVeriChanged(VeriChangedEventArgs veriChangedEventArgs)
            {
                VeriChanged?.Invoke(this, veriChangedEventArgs);
            }
            private static volatile SingletonTasiyici instance;
            private static object syncRoot = new Object();
            private SingletonTasiyici() { }
            private string _veri;
            public string Veri
            {
                get { return _veri; }
                set { _veri = value;
                   
                    VeriChanged?.Invoke(this, 
                                        new VeriChangedEventArgs()
                                        { Veri = _veri }
                                        );
                                       
                }
            }
            public static SingletonTasiyici Instance
            {
                get
                {
                    lock (syncRoot)
                    {
                        if (instance == null)
                        {
                            instance = new SingletonTasiyici();
                        }
                    }
                    return instance;
                }
            }
        }
    }
    
    Bu yukarıdaki VeriTasiyici.cs. Verileri taşıyan, singleton dizaynında bir sınıf.

    Form1'e bir adet textbox koyalım adı textBox1 olsun. Kodları aşağıdaki gibi değiştirelim:
    Kod:
         private SingletonTasiyici st = SingletonTasiyici.Instance;
            public Form1()
            {
                InitializeComponent();
            }
            private void Form1_Load(object sender, EventArgs e)
            {
                var form2 = new Form2();
                form2.Show();
            }
            private void textBox1_TextChanged(object sender, EventArgs e)
            {
                st.Veri = textBox1.Text;
            }
    
    Form2'ye de bir adet label koyalım. Adı label1 olsun:
    Kod:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    namespace VeriTasima
    {
        public partial class Form2 : Form
        {
            private SingletonTasiyici st = SingletonTasiyici.Instance;
            public Form2()
            {
                InitializeComponent();
               
            }
            private void Form2_Load(object sender, EventArgs e)
            {
                st.VeriChanged += St_VeriChanged;
            }
            private void St_VeriChanged(object sender, EventArgs e)
            {
                label1.Text = ((VeriChangedEventArgs)e).Veri;
            }
        }
    }
    
    Form1'deki textboxtaki değişiklikler form2'deki labela yansıyacak. Böylece formların referanslarını bulma ve aktarma zorunluluğumuz kalmadı.
     
    Çarkçı bunu beğendi.