c# ComboBox Yardım

ulastutcu

Üye
Katılım
16 Eki 2016
Mesajlar
7
Puanları
1
Yaş
30
Selam arkadaşlar

bi projem var Arduino ile ilgili yardım almak isteediğim konu ise;

Arayüz hazırladım ve geliştirmek istiyorum takıldığım bi konu var

Başlangıçta serialport'a bağlı cihazları combobox'ta listeliyorum. Örneğin COM7(Arduino'nun bağlı olduğu port) seçildiği zaman Başka formun açılmasını nasıl sağlayabilirim?
 
Teşekkür ederim 2. formu bu şekilde açtım.. Şimdi takıldığım bi nokta var

Form1' de ki serialport'u Form2 ye nasıl aktarabilirim..

Form1 Giriş ekranı olucak comport seçilip kullanıcı girişini yapıcak
Form2 de de Bilgiler gösterilcek. Sıcaklık Işıklar Kapı kilitleri gibi..

Ama Form1 deki serialportu yani verileri Form2' ye nasıl aktarıcam

public static string komutu işe yaramadı ya da ben yapamadım
 
MANTIK : Öncelikle neye erişmek ve eriştiğiniz bilgileri neye göndermek istiyorsanız bu iki nesne dışarıdan ulaşılabilir olması için "Public" yapmalısınız.

Serialporttaki bilgileri Form2' ye göndermek için Form2' de bu değerleri tutacak Public değişkenler hazırlayın.Örnek olarak Port ismini, BaudRate hızını ve Bağlı mı Bağlı Değil mi gibi değişkenler olabilir.

public string portismi = "";
public int porthizi = 0;
public Boolean baglimi = false;

Form2' ye yönlendirme yaptığında aşağıdaki kodları ilgili yönlendiriciye koymalısın ve üstündeki tanımlamaları Form2' ye yapmış olmalısın.Böylelikle bilgileri başlangıçta göndermiş olursun.
//-----------------------------------------------------------------------------------
Form2 mForm2 = new Form2();
mForm2.portismi = serialPort1.PortName;
mForm2.porthizi = serialPort1.BaudRate;
if(serialPort1.IsOpen == true){ mForm2.porthizi = true; }
else{mForm2.porthizi = false;}
mForm2.Show();
//------------------------------------------------------------------------------------


Eğer ki sürekli anlık güncel bilgileri görmek istiyorsan Form2' ye bir adet Timer koy ve sürekli çalışmasını enabled = true; ile sağla ve Timer içine şu kodları yaz


[Form1deki SerialPort1 nesnesini public yapman gerek!]:
//------------------------------------------------------------------------------------
Form1 frm1 = (Form1)Application.OpenForms["Form1"];
portismi = frm1.serialPort1.PortName;
porthizi = frm1.serialPort1.BaudRate;
if(frm1.serialPort1.IsOpen == true){ porthizi = true; }
else{porthizi = false;}
//------------------------------------------------------------------------------------


Verdiğim iki kodu birlikte kullandığında sürekli olarak Form2' den Form1' in en güncel bilgilerini alabilirsin.


İyi Çalışmalar.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…