Neler Yeni

C# Form'daki nesneyi farklı bir classta çağırma

Jroxy

80+
Katılım
28 Haziran 2020
Mesajlar
343
Dahası  
Reaksiyon skoru
106
İsim
Ömer Kılıç
1662374417154.png

Buradaki checkbox'u
C#:
namespace Mail_Gönderme_Cart_Curt.Models
{
    public class SendMail
    {
 
       public void Microsoft(string GondericiAdSoyad,string GondericiMail,string GondericiPass,string AliciMail,string Baslik ,string icerik, string Ek)
        {
            SmtpClient sc = new SmtpClient();
            sc.Port = 587;
            sc.Host = "smtp.outlook.com";
            sc.EnableSsl = true;
            sc.Credentials = new NetworkCredential(GondericiMail, GondericiPass);


            MailMessage email = new MailMessage();
            email.From = new MailAddress(GondericiMail, GondericiAdSoyad);
            email.To.Add(AliciMail);
            email.Subject = Baslik;
            email.IsBodyHtml = true;
            email.Body = icerik;
            if (Ek != string.Empty)
            {
                email.Attachments.Add(new Attachment(Ek));
               
            }
                sc.Send(email);






        }
Şu şekilde kullanmak istiyorum fakat checkbox1 nesnesini çağıramıyorum.
C#:
 MailMessage email = new MailMessage();

            email.From = new MailAddress(GondericiMail, GondericiAdSoyad);

            email.To.Add(AliciMail);

            email.Subject = Baslik;
if(checkBox1.Checked==true)
{
    email.IsBodyHtml = true;
}
else
{
    email.IsBodyHtml=false;

}

           

            email.Body = icerik;
 

marceline_27

80+ Bronze
Katılım
25 Ağustos 2022
Mesajlar
1,644
Dahası  
Reaksiyon skoru
832
İsim
Fatih Ayhan
Checkbox'ın bulunduğu formun designer.cs kısmında checkbox tanımlı. Orada erişim belirleyiciyi private'dan public yapın ilgili form nesnesinden böylelikle ulaşabilirsiniz.
Mesaj otomatik birleştirildi:

Ya da ilgili formda başka bir checkbox değişkeni tanımlayıp formda olan checkbox'ı tanımladığınız public değişkene de atayabilirsiniz.
 

Jroxy

80+
Katılım
28 Haziran 2020
Mesajlar
343
Dahası  
Reaksiyon skoru
106
İsim
Ömer Kılıç
  • Konu Sahibi Konu Sahibi
  • #3
Checkbox'ın bulunduğu formun designer.cs kısmında checkbox tanımlı. Orada erişim belirleyiciyi private'dan public yapın ilgili form nesnesinden böylelikle ulaşabilirsiniz.
Bunu denedim fakat ulaşamadım.
"Ya da ilgili formda başka bir checkbox değişkeni tanımlayıp formda olan checkbox'ı tanımladığınız public değişkene de atayabilirsiniz."
bunu nasıl yapacağımı anlatır mısınız?
 

OrkunJJ

80+ Silver
Katılım
18 Ocak 2021
Mesajlar
4,169
Formun adını yazarak çağırabilirsin yani şöyle Form1.Checkbox1 şeklinde olması lazım. Eğer olmaz ise hangi forma çağıracaksan checkbox u o formda görünmez bir checkbox oluşturup diğer formdaki verileriyle bir şekilde eşitleyip kullanmayı deneyebilirsin.

Başka bir form daki nesneyi çağırmak için o nesnenin ait olduğu form u kullanacağın form a tanımlaman lazım.
Mesela Form1 f = new Form1();
f.CheckBox1 diye çağırabilirsin diye hatırlıyorum.
 

marceline_27

80+ Bronze
Katılım
25 Ağustos 2022
Mesajlar
1,644
Dahası  
Reaksiyon skoru
832
İsim
Fatih Ayhan
Bunu denedim fakat ulaşamadım.
nasıl ulaşmayı denediniz?
Form1.checkbox1; bu şekilde mi
-----
Form1 f1 = new Form1();
f1.checkbox; bu şekilde mi
Mesaj otomatik birleştirildi:

Formun adını yazarak çağırabilirsin yani şöyle Form1.Checkbox1 şeklinde olması lazım.
Bu şekilde çalışması için değişkenin static olması gerekiyor.
 

Jroxy

80+
Katılım
28 Haziran 2020
Mesajlar
343
Dahası  
Reaksiyon skoru
106
İsim
Ömer Kılıç
  • Konu Sahibi Konu Sahibi
  • #6
nasıl ulaşmayı denediniz?
Form1.checkbox1; bu şekilde mi
-----
Form1 f1 = new Form1();
f1.checkbox; bu şekilde mi
Mesaj otomatik birleştirildi:


Bu şekilde çalışması için değişkenin static olması gerekiyor.
C#:
Form1 f1 = new Form1();
            if(f1.checkBoxHtml.Checked == true)
            {
                email.IsBodyHtml = true;
            }
            else
            {
                email.IsBodyHtml = false;
            }

Bu şekilde yazdım fakat checkboxu tiklesem de html olarak atmıyor tiklemesem de.
if den çıkartıp direkt email.IsBodyHtml=true; yazdığımda html olarak atıyor bunu if koşuluna nasıl sokarım.
 

marceline_27

80+ Bronze
Katılım
25 Ağustos 2022
Mesajlar
1,644
Dahası  
Reaksiyon skoru
832
İsim
Fatih Ayhan
C#:
Form1 f1 = new Form1();
            if(f1.checkBoxHtml.Checked == true)
            {
                email.IsBodyHtml = true;
            }
            else
            {
                email.IsBodyHtml = false;
            }

Bu şekilde yazdım fakat checkboxu tiklesem de html olarak atmıyor tiklemesem de.
if den çıkartıp direkt email.IsBodyHtml=true; yazdığımda html olarak atıyor bunu if koşuluna nasıl sokarım.
Aslında bu şekilde olması gerekiyor. Farklı bir sorun olabilir. Proje olarak gönderebilirseniz bir inceleyebilirim
 

Kaan ÇABUK

80+ Titanium
Katılım
23 Mart 2020
Mesajlar
26,270
En İyi Cevap
1
Yeni mesajlar Yeni Konu Aç      

SON KONULAR

Forum istatistikleri

Konular
1,059,597
Mesajlar
9,525,824
Üyeler
168,319
Son üye
ardax00
Top Bottom