PDA

View Full Version : سوال: چطور با کلاس یا برنامه نویسی شی گرا میتوان یک عدد را به لیبل فرم فرستاد



farzad_c
جمعه 04 اردیبهشت 1394, 12:58 عصر
سلام به همه اساتید گل
من یک برنامه کوچک نوشتم که عدد اتفاقی میسازه اگه عدد هفت بود یک عکس را نشان میده این تو فرم است الان میخواهم همه این کارا را از داخل یک کلاس انجام بدم هیچ آشنائی هم با oop یا شی گرا ندارم اگه میشه کمک کنید که این کارای که گفتم از داخل یک کلاس انچام بدم و عدد اتفاقی به لیبل چاپ بشه اینم از کد ها م


private void button1_Click(object sender, EventArgs e)
{
spin++;
label6.Text = Convert.ToString(spin);
// pictureBox1.Visible=false;
Random random = new Random();
int randomNumber = random.Next(0, 10);
int randomNumber1 = random.Next(0, 10);
int randomNumber2 = random.Next(0, 10);
label1.Text = Convert.ToString(randomNumber);
label2.Text = Convert.ToString(randomNumber1);
label3.Text = Convert.ToString(randomNumber2);


if (randomNumber == 7 || randomNumber1 == 7 || randomNumber2 == 7)


{
pictureBox1.Visible = true;
}

else
{
pictureBox1.Visible = false;
}



}

farzad_c
جمعه 04 اردیبهشت 1394, 18:13 عصر
کسی نبود اینجا کمک کنه

plus
جمعه 04 اردیبهشت 1394, 18:40 عصر
دقیقا مشخص نیست میخواین چکار کنید. من برای مثال یک کلاسی نوشتم که منطق رو از UI و کنترل ها جدا میکنه:

private Foo foo = new Foo();
...
private void button1_Click(object sender, EventArgs e) {
this.foo.Next();
label6.Text = Convert.ToString(foo.Spin);
label1.Text = foo.RandomNumber1;
label2.Text = foo.RandomNumber2;
label3.Text = foo.RandomNumber3;
pictureBox1.Visible = foo.DisplayImage;
}
...
...
...

class Foo {
private Random random;
private int randomNumber;
private int randomNumber1;
private int randomNumber2;
private int spin;

public Foo() {
this.random = new Random((uint)DateTime.Now.Ticks);
}
public void Next() {
this.randomNumber = this.random.Next(0, 10);
this.randomNumber1 = this.random.Next(0, 10);
this.randomNumber2 = this.random.Next(0, 10);
this.spin++;
}

public bool DisplayImage {
get {
return (this.randomNumber1 == 7 || this.randomNumber2 == 7 || this.randomNumber3 == 7);
}
}
public int RandomNumber1 {
get {
return this.randomNumber1;
}
}

public int RandomNumber2 {
get {
return this.randomNumber2;
}
}

public int RandomNumber3 {
get {
return this.randomNumber3;
}
}

public int Spin {
get {
return this.spin;
}
}
}

farzad_c
جمعه 04 اردیبهشت 1394, 18:50 عصر
دقیقا مشخص نیست میخواین چکار کنید. من برای مثال یک کلاسی نوشتم که منطق رو از UI و کنترل ها جدا میکنه:

private Foo foo = new Foo();
...
private void button1_Click(object sender, EventArgs e) {
this.foo.Next();
label6.Text = Convert.ToString(foo.Spin);
label1.Text = foo.RandomNumber1;
label2.Text = foo.RandomNumber2;
label3.Text = foo.RandomNumber3;
pictureBox1.Visible = foo.DisplayImage;
}
...
...
...

class Foo {
private Random random;
private int randomNumber;
private int randomNumber1;
private int randomNumber2;
private int spin;

public Foo() {
this.random = new Random((uint)DateTime.Now.Ticks);
}
public void Next() {
this.randomNumber = this.random.Next(0, 10);
this.randomNumber1 = this.random.Next(0, 10);
this.randomNumber2 = this.random.Next(0, 10);
this.spin++;
}

public bool DisplayImage {
get {
return (this.randomNumber1 == 7 || this.randomNumber2 == 7 || this.randomNumber3 == 7);
}
}
public int RandomNumber1 {
get {
return this.randomNumber1;
}
}

public int RandomNumber2 {
get {
return this.randomNumber2;
}
}

public int RandomNumber3 {
get {
return this.randomNumber3;
}
}

public int Spin {
get {
return this.spin;
}
}
}



دوست عزیز ممنون از رهنمائی من دقیقا میخوام کاری که کنم تو کلاس باشه وقتی رو دکمه کلیک میکنم سه عدد اتفافی بسازه اگه یکی از اون عدد ها توش عدد 7 بود اون تصویر نشان داده شود من همه کاراشو کردم اما نتونستم اونو تو کلاس ببرم