رویداد ها (Events) در سی شارپ
بعد ازین که کنترلمان ساخته شد، برای اضافه کردن رویداد هایش میتوانین از کد زیر استفاده کنید.
button1.Click += new System.EventHandler(button1_Click);
private void button1_Click(object sender, EventArgs e) { // button1 was clicked }
برای رویداد کلیک از EventHandler استفاده میکنیم همانطور که در کد دیده میشود.
یک راه دیگر برای اضافه کردن رویداد :
button1.Click +=نام دلخواه;
private void نام دلخواهی که نوشته بودیم(object sender, EventArgs e) { // button1 was clicked }
راه دوم راحت تر از راه اول است و میبینید که در تابعی که برای کلیک دکمه درست شده است از
EventArgs
استفاده شده است. برای این که بفهمید برای بقیه ی رویداد ها چه چیزی لازم است میتواندید دستی یک رویداد ایجاد کنید مانند همیشه که از پنجره properties و بخش Event، و ببینید که چه نوشته است و همان را کپی کنید.
من چند مورد را برای شما مینویسم.
-
MouseEnter,MouseHover,MouseLeave: EventArgs
-
MouseDown,MouseUP,MouseMove,MouseClick : MouseEventArgs
-
Paint : PaintEventArgs
-
KeyDown,KeyUP :KeyEventArgs
-
KeyPress : KeyPressEventArgs
خب فکر کنید ما آرایه ای از TextBox ها داریم.لازم نیست برای هر کدام از آن ها یک رویداد جدا نوشت. به صورت زیر عمل میکنیم :
TextBox[] LoginTxt = new TextBox[2];
for(int i=0;i<2;i++)
{
LoginTxt[i] = new TextBox();
LoginTxt[i].Size = new Size(230,20);
LoginTxt[i].ForeColor = Color.PaleVioletRed;
LoginTxt[i].Font = new Font("",12.0F, FontStyle.Regular);
LoginTxt[0].Location = new Point(16, 96);
LoginTxt[i].Location = new Point(16, 170);
LoginTxt[i].BorderStyle = BorderStyle.None;
LoginTxt[i].Enter += LoginTxt_Enter;
LoginTxt[i].MouseDown += LoginTxt_MouseDown;
panel1.Controls.Add(LoginTxt[i]);
}
TextBox OloginTxt;
private void LoginTxt_Enter(object sender, EventArgs e)
{
OloginTxt = sender as TextBox();
OloginTxt.Visible=false;
}
OloginTxt (نام دلخواه) :
میشود تکس باکسی که رویداد Enter رویش اعمال شده یا اگر از رویداد کلیک استفاده میکردیم میشود تکس باکسی که رویش کلیک شده و آن تکس باکس محو میشد(نوشتیم
OloginTxt.Visible=false;
)
و اگر میخواهید همچین چیزی برای تکس باکس ها یا کنترل هایی که روی فرمتان دارید درست کنید (کنترل های هم نوع) می توانید همه ی آنا هارا سلکت کنید و در رویداد مثلا کلیک یه اسم دلخواه بنویسید و کد بالا رو بنویسید.
پایان این قسمت,
امیدوارم این آموزش مفید بوده باشه.
مطالعه بیشتر
سلام
من می خواهم از یه حلقه مثلا for تعداد مشخصی افراد مثلا ۱۰ را از تکس باکس اول گرفته و یکی یکی مشخصات همدم را گرفته و در یک جدول قرار داده و بعد از اتمام با یکی از مشخصات منحصر به فرد مثل کد ملی و یا مد پستی قابل جستجو باشن لطفا راهنمایی بفرمایید