bu kucuk ornegin aynısını c# ile yapanın duacısı olacağım..

Başlatan forumsad, 01 Ekim 2012, 18:05:11


ULAGA


forumsad

hocam örneği indirip çalıştırdınız mı?

ornekdeki işlemleri harici class kullanarak yaparsanız yeterli ...

sorun yaşadığım kısım :
bilğinin izlediği yol form-class-class-başka bir form   

uygulamayı c# ile yapmaya çalışıp buraya koyacağım

saygılar

mesaj birleştirme:: 02 Ekim 2012, 13:45:50

c# ile benzer örneği hazırladım ama çalıştıramadım

tüm  proje burda;
http://s3.dosya.tc/server4/InfXeV/formClassIliskisi.rar.html



--



code:

Form1;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

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



        public static Form2 frm2 = new Form2();
        private void button1_Click(object sender, EventArgs e)
        {
            //int j = 0;
            //for (int i = 0; i < this.pnlOyunAc.Controls.Count; i++)
            //{
            //    if (this.pnlOyunAc.Controls[i] is TextBox)
            //    {
            //        TextBox c = (TextBox)this.pnlOyunAc.Controls[i];
            //        Siniflar.islem1.OyAd[j++] = c.Text;   //bu satırda hata veriyor                 
            //    }
            //}

            Siniflar.islem1.OyAd[0] = textBox1.Text;
            Siniflar.islem1.OyAd[1] = textBox2.Text;
            Siniflar.islem1.OyAd[2] = textBox3.Text;

            Siniflar.islem1.islemYap();

            //bilğileri aktardık şimdi oyun formuna gidelim
            if (Application.OpenForms["Form2"] == null)
            {
                frm2.Show();
            }
            else
            {
                Application.OpenForms["Form2"].Activate();  //eger yaratılmışsa one getir
            }
        }
    }
}


form2:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace formClassIliskisi
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        private void Form2_Load(object sender, EventArgs e)
        {

        }

        private void Form2_Shown(object sender, EventArgs e)
        {
            Siniflar.konum a1 = new Siniflar.konum(this);
            a1.panelKonumAyarla();
        }

        private void button1_Click(object sender, EventArgs e)
        {

        }
    }
}


class1:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace formClassIliskisi.Siniflar
{
    public class islem1
    {

        public static string[] OyAd = new string[3];
        public static void islemYap()
        {

            Siniflar.islem2.DataDz[0] = OyAd[0];
            Siniflar.islem2.DataDz[1] = OyAd[1];
            Siniflar.islem2.DataDz[2] = OyAd[2];

            Siniflar.islem2.gelenDatayiFormaGonder();
        
        }


    }
}


class2:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace formClassIliskisi.Siniflar
{
    public class islem2
    {
        public static Form2 frm2 = new Form2();
        public static string[] DataDz = new string[3];
        public static void gelenDatayiFormaGonder()
        {
            frm2.textBox1.Text = DataDz[0];
            frm2.textBox2.Text = DataDz[1];
            frm2.textBox3.Text = DataDz[2]; 
        }

    }
}



class3:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace formClassIliskisi.Siniflar
{
    public class konum
    {
        public Form2 frm2;
        public konum(Form2 glnForm)
        {
            frm2 = glnForm;
        }
        public void panelKonumAyarla()
        {
            frm2.panel1.Left = 0;
            frm2.panel1.Top = 0;
            frm2.panel1.Width = Screen.PrimaryScreen.Bounds.Width;
            frm2.panel1.Height = 150;

        
        }
    }
}




bu sorunu çözerseniz çok sevinirim saygılar

ULAGA

İstediğini yapan bir proje hazırladım.
Umarım sana karışık gelmez.
Bu arada, Delegate olayını araştırmanı öneririm...


http://s2.dosya.tc/server20/XH0zZd/VeriYolu.zip.html

frmVeriYolu.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace VeriYolu
{
	public partial class frmVeriYolu : Form
	{
		public DelegateClass delegateClass;
		FirstClass firstClass = new FirstClass();
		
		public frmVeriYolu()
		{
			InitializeComponent();
		}

		public void txtVeri_KeyPress(object sender, KeyPressEventArgs e)
		{
			const char Delete = (char)8;
			e.Handled = !Char.IsDigit(e.KeyChar) && e.KeyChar != Delete;
		}

		public void btnSend_Click(object sender, EventArgs e)
		{
			this.delegateClass = new DelegateClass();
			delegateClass.ProcessTriggered += new DelegateClass.OnProcessTrigger(Process_Triggered);
			firstClass.IncreaseNumber(Convert.ToInt32(txtVeri.Text));
		}

		private void Process_Triggered(object o)
		{
			string obj = o.ToString();
			txtIncoming.Text = obj;
		}
	}
}


FirstClass.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace VeriYolu
{
	public class FirstClass
	{
		SecondClass secondClass = new SecondClass();
		
		public void IncreaseNumber(int i)
		{
			secondClass.TransNumber(i + 1);
		}
	}
}


SecondClass.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace VeriYolu
{
	public class SecondClass
	{
		public DelegateClass delegateClass;
		
		public void TransNumber(int i)
		{
			object obj = (object)i;

			frmVeriYolu frm = (from p in Application.OpenForms.OfType<frmVeriYolu>() select p).FirstOrDefault();
			if (frm != null)
			{
				frm.delegateClass.Process(obj);
			}
		}
	}
}


DelegateClass.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace VeriYolu
{
	public class DelegateClass
	{
		public delegate void OnProcessTrigger(object o);
		public event OnProcessTrigger ProcessTriggered;

		public void Process(object o)
		{
			this.ProcessTriggered(o);
		}
	}
}


mesaj birleştirme:: 02 Ekim 2012, 14:24:13

Alıntı yapılan: forumsad - 02 Ekim 2012, 10:07:40tüm  proje burda;
http://s3.dosya.tc/server4/InfXeV/formClassIliskisi.rar.html

bu sorunu çözerseniz çok sevinirim saygılar

Benim yaptığım projeyi iyi incele.
frmVeriYolu formuna göndermek yerine, istediğin başka bir forma göndereceksin. ;)

forumsad

teşekkürler hocam hemen inceliyorum

saygılar

mesaj birleştirme:: 03 Ekim 2012, 12:51:51

formlar ve classlar arasındaki ilişkileri baştan alıp inceleyeceğim

saygılar

teşekkürler