programer1389
چهارشنبه 25 تیر 1393, 14:07 عصر
1 فرم شماره 2 را ميخواهم فقط يک نمونه ازش داشته باشم با سينگلتون اين کار را کردم
2 ميخواهم يکي از توابع فرم دوم را در فرم اول صدا بزنم با delegate اين کار را کردم
حالا وقتي ميخواهم مراحل 1و 2 را باهم داشته باشم يک خطا در يافت ميکنم لطفا بگيد چکار کنم اين هم کد بنده ممنون هم پروژه و هم کد ها را گذاشتم
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 delegate1
{
public delegate void mydelegate(int x, int y);
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form f2 = Form2.get_instance();
f2.Show();
mydelegate d =//new mydelegate(f2.get_result)+
new mydelegate(sum)+
new mydelegate(sub)+sum;
d(Convert.ToInt16(textBox1.Text), Convert.ToInt16(textBox2.Text));
}
private void sum(int x, int y)
{
label1.Text = (x + y).ToString();
}
private void sub(int x, int y)
{
label2.Text = (x - y).ToString();
}
}
}
و فرم دوم
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 delegate1
{
public partial class Form2 : Form
{
public static Form2 sform;
public static Form2 get_instance()
{
if (sform == null)
{
sform = new Form2();
}
return sform;
}
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
}
public void get_result(int x, int y)
{
MessageBox.Show("in form2");
textBox1.Text = (x+y).ToString();
}
private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
}
}
}
2 ميخواهم يکي از توابع فرم دوم را در فرم اول صدا بزنم با delegate اين کار را کردم
حالا وقتي ميخواهم مراحل 1و 2 را باهم داشته باشم يک خطا در يافت ميکنم لطفا بگيد چکار کنم اين هم کد بنده ممنون هم پروژه و هم کد ها را گذاشتم
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 delegate1
{
public delegate void mydelegate(int x, int y);
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form f2 = Form2.get_instance();
f2.Show();
mydelegate d =//new mydelegate(f2.get_result)+
new mydelegate(sum)+
new mydelegate(sub)+sum;
d(Convert.ToInt16(textBox1.Text), Convert.ToInt16(textBox2.Text));
}
private void sum(int x, int y)
{
label1.Text = (x + y).ToString();
}
private void sub(int x, int y)
{
label2.Text = (x - y).ToString();
}
}
}
و فرم دوم
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 delegate1
{
public partial class Form2 : Form
{
public static Form2 sform;
public static Form2 get_instance()
{
if (sform == null)
{
sform = new Form2();
}
return sform;
}
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
}
public void get_result(int x, int y)
{
MessageBox.Show("in form2");
textBox1.Text = (x+y).ToString();
}
private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
}
}
}