C# başka formdan veri çekme

Acı Rakı

Decapat
Katılım
25 Haziran 2021
Mesajlar
727
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
Arkadaşlar selam, 2 tane formum var form1 ve form2 ama form1'deki label sürekli rastgele sayı üretiyor form2'deki labelde de form1'deki labelde ne yazıyorsa onu form2'deki labelde da aynısını yazdırmak istiyorum bunu nasıl yapabilirim? Kodu yazıp atarsanız daha çok sevinirim. İyi akşamlar.
 
Form1'deki label'ın Modifiers özelliğini "Public" yaparsanız Form2'ye şu kodu yazarak veriyi çekebilirsiniz: (form1'in adının Form1 olduğunu düşünüyorum)
label.Text = Form1.label.Text;
Ya da Form1'de public static bir string oluşturun. Sürekli değişen label değerini o stringe verin. Form2'den o stringe ulaşın.
 
Arkadaşlar selam, 2 tane formum var form1 ve form2 ama form1'deki label sürekli rastgele sayı üretiyor form2'deki labelde de form1'deki labelde ne yazıyorsa onu form2'deki labelde da aynısını yazdırmak istiyorum bunu nasıl yapabilirim? Kodu yazıp atarsanız daha çok sevinirim. İyi akşamlar.
Hocam veri çekmek ne demek ?
 
Form1'deki label'ın Modifiers özelliğini "Public" yaparsanız Form2'ye şu kodu yazarak veriyi çekebilirsiniz: (form1'in adının Form1 olduğunu düşünüyorum)
label.Text = Form1.label.Text;
Ya da Form1'de public static bir string oluşturun. Sürekli değişen label değerini o stringe verin. Form2'den o stringe ulaşın.
SDD.png

Bu hatayı alıyorum ilk yöntemde.
Form1'deki Label'ın modifiers özelliğini "public" yaparsanız form2'ye şu kodu yazarak veriyi çekebilirsiniz: (form1'in adının form1 olduğunu düşünüyorum)
Label. Text = form1.label. Text;
Ya da form1'de public static bir string oluşturun. Sürekli değişen label değerini o stringe verin. Form2'den o stringe ulaşın.

Örnek amaçlı form1 ve form2 yazdım aslında form3 ve form4 arasında olacak ama doğru uyguladım.
 
[CODE lang="csharp" title="form1"]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 WindowsFormsApp3
{
public partial class Form1 : Form
{
public static Label label1=new Label();

public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
label1.Location = new Point(0, 0);
this.Controls.Add(label1);
Button btnForm2 = new Button();
btnForm2.Text = "Form2";
btnForm2.Location = new Point(0,25);
btnForm2.Click += BtnForm2_Click;
this.Controls.Add(btnForm2);

Timer sayac = new Timer();
sayac.Interval = 1000;
sayac.Tick += Sayac_Tick;
sayac.Start();


}

private void BtnForm2_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2();
frm2.Show();
}

private void Sayac_Tick(object sender, EventArgs e)
{
rastGele();
}

void rastGele()
{
Random rnd = new Random();
label1.Text = rnd.Next(0, 100000).ToString();
}


}
}[/CODE]
[CODE lang="csharp" title="form2"]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 WindowsFormsApp3
{
public partial class Form2 : Form
{
Label lbl1 = new Label();

public Form2()
{
InitializeComponent();
}

private void Form2_Load(object sender, EventArgs e)
{

lbl1.Location = new Point(0, 0);

this.Controls.Add(lbl1);

Form1.label1.TextChanged += Label1_TextChanged;
}

private void Label1_TextChanged(object sender, EventArgs e)
{
lbl1.Text = Form1.label1.Text;
}
}
}
[/CODE]
 

Geri
Yukarı