با هر بار کلیک رویداد(event) دکمه کار جدیدی انجام بده
سلام
میخوام یک تکه برنامه بنویسیم که یک دکمه باشه و یک تکست باکس
هر بار که کاربر رو دکمه کلیک کرد تکس باکس رنکش عوض بشه
تا 3 بار این کارو انجام بده یعنی 3 رنگ مختلف
چیزی که به ذهنم رسید رو پیاده سازی کردم ولی بر به مشکل خوردم
int count = 0;
for(int i=0; i<=3 ;i++)
{
count++;
switch (count)
{
case 1:
textBox1.BackColor = Color.Blue;
break;
case 2:
textBox1.BackColor = Color.Red;
break;
case 3:
textBox1.BackColor = Color.Yellow;
break;
}
}
نمیدونم چرا تو حلقه فقط اخرین شمارنده رو در نظر میگیره. یعنی پله پله جلو نمیره اول 1 باشه بعد 2 باشه بعد 3 باشه. همش 3 رو در نظر میگیره.
میخوام با هر بار کلیک شمارنده 1 بشه تکست باکس رنگش عوض شه. وقتی شمارنده 2 شد با کلیک بعدی بازم رنگش عوض شه و ..........................................
شما چه پیشنهادی دارین؟ ممنون میشم راهنماییم کنید
نقل قول: با هر بار کلیک رویداد(event) دکمه کار جدیدی انجام بده
یه چیزی تو همون مایه هایی که میخوای ...
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int i;
private void button1_Click(object sender, EventArgs e)
{
i++;
switch (i)
{
case 1: this.BackColor = Color.Wheat;
break;
case2: this.BackColor = Color.Cyan;
break;
case 3: this.BackColor = Color.DarkBlue;
break;
case 4: this.BackColor = Color.CadetBlue;
break;
case 5: this.BackColor = Color.DarkSlateBlue;
break;
}
}
}
}
فقط این رنگ فرم رو تغییر میده .. خودت درستش کن
نقل قول: با هر بار کلیک رویداد(event) دکمه کار جدیدی انجام بده
ممنون دوست عزیزم. البته دوست نداشتم برنامه رو برام بنویسید. فقط دوست داشتم راهنماییم کنی. بازم ممنون. خیلی خوب بود
نقل قول: با هر بار کلیک رویداد(event) دکمه کار جدیدی انجام بده
نقل قول: با هر بار کلیک رویداد(event) دکمه کار جدیدی انجام بده
درود بر شما دوست عزیز شما می تونید اینجوری هم کار کنید فقط اعداد توی next رو خودت تنظیم کن تا رنگهای بیشتری بهت بده
private void button1_Click(object sender, EventArgs e)
{
Random r = new Random();
Random s = new Random();
Random d = new Random();
this.BackColor = Color.FromArgb(d.Next(1,150),s.Next(1,255),d.Next( 1,200));
}
نقل قول: با هر بار کلیک رویداد(event) دکمه کار جدیدی انجام بده
نقل قول:
نوشته شده توسط
ppp1486
درود بر شما دوست عزیز شما می تونید اینجوری هم کار کنید فقط اعداد توی next رو خودت تنظیم کن تا رنگهای بیشتری بهت بده
private void button1_Click(object sender, EventArgs e)
{
Random r = new Random();
Random s = new Random();
Random d = new Random();
this.BackColor = Color.FromArgb(d.Next(1,150),s.Next(1,255),d.Next( 1,200));
}
همین کد رو توی تایمر بزار خیلی خشکل میشه :خجالت:
نقل قول: با هر بار کلیک رویداد(event) دکمه کار جدیدی انجام بده
ببینید مشکل من تو رندم نیست!! خیلی ساده بگم من میخوام یک دکمه و یک تکس باکس داشته باشم که با هر بار کلیک رنگ بگراند تکست باکسم عوض بشه. 3 رنگ رو فقط باید بگیره/ قرمز. سبز . زرد. وقتی 3 رنگ تموم شد دوباره از اول شروع کنه. بنظر خودم یک شمارده میخواد ولی هنموز نتونستم پیادش کنم.
نقل قول: با هر بار کلیک رویداد(event) دکمه کار جدیدی انجام بده
بفرمایید دوست عزیز امیدوارم منظورتون رو خوب فهمیده باشم اینم کدش
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 WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int i = 0;
public int search(int k)
{
if (k==0)
{
k++;
return k;
}
else if (k == 1)
{
k++;
return k;
}
else
{
k = 0;
return k;
}
}
private void button1_Click(object sender, EventArgs e)
{
if (i==0)
{
this.BackColor = Color.Red;
i = search(i);
}
else if (i==1)
{
this.BackColor = Color.Green;
i = search(i);
}
else
{
this.BackColor = Color.Yellow;
i = search(i);
}
}
}
}
نقل قول: با هر بار کلیک رویداد(event) دکمه کار جدیدی انجام بده
ممنون از دوستای خوبم اما خودم نوشتمش.
کار برنامه اینه که با زدن هر بار کلیک روی دکمه چنتا کار انجام میشه
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace @event
{
public partial class Form1 : Form
{
public int i = 0;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Button bt = (Button)sender;
i++;
switch (i)
{
case 1:
textBox1.BackColor = Color.Blue;
bt.Location=new Point(5,5);
MaximizeBox = false;
break;
case 2:
textBox1.BackColor = Color.Red;
MinimizeBox = false;
bt.Location=new Point(10,10);
break;
case 3:
textBox1.BackColor = Color.Yellow;
this.ControlBox = false;
bt.Location=new Point(20,20);
break;
case 4: System.Diagnostics.Process.Start("calc");
bt.Location=new Point(30,30);
break;
case 5: this.ControlBox = true;
MinimizeBox = true;
MaximizeBox = true;
break;
}
if (i == 5)
{
i = 0;
}
}
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
}
}