این رویداد مانند رویداد MouseEnter کار میکند با این تفاوت که وقتی اشاره گر موس وارد کنترل میشود باید لحظه ای بی حرکت باشد تا این رویداد اجرا گردد در غیر این صورت اجرا نمیشود.
این رویداد مانند رویداد MouseEnter کار میکند با این تفاوت که وقتی اشاره گر موس وارد کنترل میشود باید لحظه ای بی حرکت باشد تا این رویداد اجرا گردد در غیر این صورت اجرا نمیشود.
این رویداد زمانی اجرا میشود که اشارگر موس وارد مختصات گرافیکی کنترل مورد نظر شود
این رویداد زمانی که کلید موس فشرده میشود اتفاق میافتد. یعنی با پایین رفتن کلید موس این رویداد در محل مورد نظر اجرا میشود.
این رویداد کاری شبیه به رویداد DoubleClick را انجام میدهد با این تفاوت که جدایی از اجام فعالیت بعد از دو بار کلیک میتوان توانایی های موس مانند مختصات و یا کلید های ترکیبی را نیز کنترل نمایید.
این رویداد زمانی اجرا میشود که بر روی بخش مورد نظر کلیک موس نموده و پس از رها کردم کلیک اجرا می گردد.
این رویداد زمانی اجرا میشود که متد MouseCapture اجرا گردد اما این درک این رویداد به صورت عادی سخت است. در اینجا باید بگویم برای درک این مسئله باید گفت این رویداد دقیقا بعد از رویداد MouseDown اجرا میشود با این توضیح که کلید موس را فشار میدهید ولی رها نمیکنید حال بر روی دکمه های ویندوز مانند ALT+TAB ، CTRL+ESC یا دکمه ویندوز کلیک مینمایید حال این رویداد اجرا میشود. عملا این رویداد برای جلوگیزی از دور زدن برنامه در هنگام کلیک میباشد تا اشکالی در روند برنامه با کلیدهای دیگر بوجود نیاید. برای درک بیشتر باید توضیجات زیادی داده شود و مثالهای زیادی زده شود که در پست از آن اجتناب میکنیم.
این رویداد زمانی اجرا میشود که شما مقدار خاصیت Minimaize را تغییر دهید.
مثال:
1- یک پروژه با یک دکمه بسازید و بر روی رویداد MinimumSizeChanged کنترل فرم کد زیر را وارد نمایید.
VB
MessageBox.Show("You are in the Form.MinimumSizeChanged event.")
C#
MessageBox.Show("You are in the Form.MinimumSizeChanged event.")
2- روی دکمه کد زیر را وارد نمایید.
VB
Me.Minimaize = New Size(500, 500)
C#
;this.Minimaize = new Size(500, 500)
3- پزوژه را اجرا نمایید و بر روی دکمه کلیک نمایید.
این رویداد ساختاری همانند رویداد MenuComplete دارد با این تفاوت که بعد از رویداد MenuComplete اجرا میگردد ولی در کل ساختاری نزدیک دارد
این رویداد زمانی اجرا میگردد که شما بر روی Menu کلیک نمایید اما نکته اینجاست که هر چه استفاده کنید چیزی اجرا نمیشود. برای اجرا نباید از کنترلی MenuStrip استفاده نمایید. باید Menu با کد نویسی ساخته شود.
مثال:
1- پروژه ای ساخته و در رویداد MenuComplete فرم کد زیر را قرار دهید.
VB
MessageBox.Show("You are in the Form.MenuComplete event.")
C#
MessageBox.Show("You are in the Form.MenuComplete event.");
2- در بخش عمومی فرم کد زیر را قرار داده و از بخش Load فرم آن رو فراخوانی نمیادد.
VB
Private Sub MergeMenus()
Dim mmMain As New MainMenu()
Dim mmMenuToAdd As New MainMenu()
Dim miItem1 As New MenuItem()
Dim miItem2 As New MenuItem()
miItem1.Text = "File"
miItem2.Text = "Edit"
mmMain.MenuItems.Add(miItem1)
mmMenuToAdd.MenuItems.Add(miItem2)
mmMain.MergeMenu(mmMenuToAdd)
Me.Menu = mmMain
End Sub
C#
private void MergeMenus()
{
MainMenu mmMain = new MainMenu();
MainMenu mmMenuToAdd = new MainMenu();
MenuItem miItem1 = new MenuItem();
MenuItem miItem2 = new MenuItem();
miItem1.Text = "File";
miItem2.Text = "Edit";
mmMain.MenuItems.Add(miItem1);
mmMenuToAdd.MenuItems.Add(miItem2);
mmMain.MergeMenu(mmMenuToAdd);
this.Menu = mmMain;
}
3- پروژه را اجرا نمایید با کلیک بر روی منو های ساخته شده رویداد اجرا میگردد.
برای درک این رویداد شما اول باید ساختار فرم های والد و فرزند رو درک کنید فرم والد مانند نرم افزار اصلی و فرم فرزند مانند صفحات درون آن. مانند نرم افزار فتوشاپ که فرم والد یا پدر و هر تصویر درون آن یک فرم فرزند محسوب میشود. برای درک این رویداذ مراحل زیر را انجام دهید.
مثال:
1- پروژه ای را ساخته و به محض ورود یک فرم MDIParent به پروژه اضافه نموده و از بخش My Project فرم اصلی را روی MDIParent قرار دهید
2- بر روی رویداد MdiChildActivate کنترل فرم MDIParent کد زیر را وارد نمایید.
VB
MessageBox.Show("You are in the Form.MdiChildActivate event.")
C#
MessageBox.Show("You are in the Form.MdiChildActivate event.");
3-در فرم MDIParent بر روی یک دکمه کد زیر را بنویسید
VB
Dim ChildForm As New System.Windows.Forms.Form
ChildForm.MdiParent = Me
m_ChildFormNumber += 1
ChildForm.Text = "Window " & m_ChildFormNumber
ChildForm.Show()
C#
System.Windows.Forms.Form ChildForm = new System.Windows.Forms.Form();
ChildForm.MdiParent = this;
m_ChildFormNumber += 1;
ChildForm.Text = "Window " + m_ChildFormNumber;
ChildForm.Show();
4- پروژه را اجرا نمایید با فراخوانی فرم جدید خواهید دید رویداد اجرا میگردد.
این رویداد زمانی اجرا میشود که شما مقدار خاصیت MaximumSize را تغییر دهید.
مثال:
1- یک پروژه با یک دکمه بسازید و بر روی رویداد MaximumSizeChanged کنترل فرم کد زیر را وارد نمایید.
VB
MessageBox.Show("You are in the Form.MaximumSizeChanged event.")
C#
MessageBox.Show("You are in the Form.MaximumSizeChanged event.")
2- روی دکمه کد زیر را وارد نمایید.
VB
Me.MaximumSize = New Size(500, 500)
C#
this.MaximumSize = new Size(500, 500);
3- پزوژه را اجرا نمایید و بر روی دکمه کلیک نمایید.
این رویداد با تغییر متد MaximizedBounds اجرا میگردد.
MaximizedBounds متدی میباشد که نمایش دکمه MaximizBox را در نوار عنوان فرم ویندوز مشخض مینماید.
مثال:
1- پروژه ای با یک دکمه ایجاد کنید.
2- بر روی رویداد MaximizedBoundsChanged کنترل فرم کد زیر را قرار دهید.
VB
MessageBox.Show("You are in the Form.MaximizedBoundsChanged event.")
C#
MessageBox.Show("You are in the Form.MaximizedBoundsChanged event.")
3- حال بر روی دکمه کد زیر را قرار دهید.
VB
InitializeComponent()
Me.MaximizedBounds = New Rectangle(100, 100, 200, 200)
C#
InitializeComponent();
this.MaximizedBounds = new Rectangle(100, 100, 200, 200);
4- پروژه را اجرا نموده و روی دکمه MaximizBox فرم در کنار دکمه Close کلیک نمایید.
این رویداد زمانی اجرا میشود که شما خاصیت Margin کنترل را تغییر دهید.
مثال:
1- یک فرم با دکمه روی آن ایجاد نمایید
2- در رویداد MarginChanged کنترل فرم کد زیر را وارد نمایید
VB
MessageBox.Show("You are in the Control.MarginChanged event.")
C#
MessageBox.Show("You are in the Control.MarginChanged event.");
3- حال بر روی دکمه کد زیر را وارد نمایید.
VB
Dim old As Padding = LabelAdapter.Margin
LabelAdapter.Margin = New Padding(old.Left, 8, old.Right, old.Bottom)
C#
Padding old = LabelAdapter.Margin;
LabelAdapter.Margin = new Padding(old.Left, 8, old.Right, old.Bottom);
4-پروژه را باز نموده و بر روی دکمه کلیک نمایید. با این کلیک به دلیل تغییر بر روی خاصیت Margin رویداد اجرا میگردد.
این رویداد با تغییر موقعیت کنترلها اجرا میگردد. هر کنترلی که در این رویدادش کد نویسی شود با تغییر مکان به روش کشیدن و رها کردن کدهایش اجرا میشود. البته باید بدانید با تغییر اندازه از بالا و چپ خواهید دید که باز این رویداد به جهت تغییر مختصات اجرا میگردد.
مثال:
یک پروژه را اجرا نموده و سپس بر روی آن یک Label قرار دهید و در خاصیت Text آن عدد 0 را وارد نمایید. حال در رویداد LocationChanged کنترل Form کد زیر را وارد نمایید.
VB
Label1.Text = Val(Label1.Text) + 1
C#
Label1.Text = Convert.ToString(Convert.ToDouble(Label1.Text) + 1);
حال پروژه را اجرا نموده و فرم را حرکت دهید.
این رویداد در هنگام شروع کار فرم و اجرای آن روی میدهد. اگر میخواهید یک فرمان در بدو ورود به فرم اجزا گردد کد را روی این رویداد بنویسید. لازم به ذکر است برخی از کدها که با اجرای کامل فرم اجرا میشوند در این رویداد کار نمیکنند.
متد Layout عملا به عنوان پیکره بندی ّForm محسوب میگردد. این رویداد در هر تغییر قالب بندی (تغییر اندازه) در Form اجرا میشود یعنی با اجرا Form یا تغییر اندازه میتوانید مشاهده نمایید.برای درک بیشتر به مثال عمل نمایید
مثال:
1- پروژه ای ساخته و در رویداد Layout کنترل Form کد زیر را وارد نمایید
VB
Me.SetBounds((System.Windows.Forms.Screen.GetBounds(Me).Width / 2) - (Me.Width / 2), _
(System.Windows.Forms.Screen.GetBounds(Me).Height / 2) - (Me.Height / 2), _
Me.Width, Me.Height, System.Windows.Forms.BoundsSpecified.Location)
C#
this.SetBounds((Screen.GetBounds(this).Width/2) - (this.Width/2),
(Screen.GetBounds(this).Height/2) - (this.Height/2),
this.Width, this.Height, BoundsSpecified.Location);
2- در رویداد کلیک فرم کد زیر را قرار دهید
VB
Me.Width = 200
C#
Me.Width = 200;
3- پروژه را اجرا نمایید کدهای رویداد Layout باعث میگردد Form در مرکز مانیتور نمایش داده شود. حالا فرم را به جای دیگری از ضفحه انتقال دهید و روی آن کلیک نمایید. خواهید دید با تغییر اندازه فرم به مرکز مانیتور مجددا منتقل میگردد. این بدان منظور است که با تغییر قالب فرم کد Layout اجرا میگردد.
این رویداد برای صفحه کلید میباشد و چیزی شبیه به رویداد KeyDown و KeyUp عمل میکند با این تفاوت که بجای استفاده از ساختار کلید از محتوای کلید بهره میگیرد. به طور مثال اگر کلید A میتواند a هم باشد در رویداد KeyDown و KeyUp فقط خود کلید مهم میباشد ولی در رویداد KeyPress میتوان کدها را متفات نمود که در صورت حروف کوچک چه شود در صورت حروف بزرگ چه شود. این موضوع در مورد همه کلید ها حکم فرما میباشد.
مثال:
پروژه ای را شروع نمایید و در رویداد KeyPress کنترل فرم کد زیر را قرار دهید
VB
Select Case e.KeyChar
Case "A"
Me.BackColor = Color.Aqua
Case "a"
Me.BackColor = Color.CornflowerBlue
End Select
C#
switch (e.KeyChar)
{
case "A":
this.BackColor = Color.Aqua;
break;
case "a":
this.BackColor = Color.CornflowerBlue;
break;
}
کدهای این دو رویداد دقیقا شبیه هم بوده ولی تنها تفاوت آنها این است که، رویداد KeyDown هنگامی رخ میدهد که کلید کیبورد به سمت پایین حرکت کند و در رویداد KeyUp کلید کیبورد را رها نمایید اجرا میشود.
نکته: یکی از خصوصیات رویداد KeyDown این است با نگه داشتن کلید کیبورد اجرا ادامه میابد و برابر با سرعت کیبورد در تنظیمات کنترل پنل به اجرا ادامه میدهد این در صورتی است که در رویداد KeyUp تنها یک بار اجرا صورت میگیرد.
نکته: از ترکیب این دو کلید میتوانید فرایندهای زیبایی را در سیسنم خلق نمایید.
مثال:
1- پروژه ای را شروع و درون Form آن یک دکمه و یک کادر متن قرار دهید.
2- در رویداد KeyDown یا KeyUp کنترل Form کد زیر را قرار دهید
تذکر: ما کلیدهایی داریم که به صورت ساده (تک کلید) زده میشود مانند F7,F2,PageUp و یا دیگر کلید ها و همچنین کلیدهایی داریم که با ترکیب چند کلید مانند Shift , Ctrl , Alt ساخته زده میشود باید روی این گزینه ها به شکل زیر کد نویسی نمایید.
VB
If e.Shift = True And e.Alt = True Then
Select Case e.KeyCode
Case Keys.D
Me.BackColor = Color.Aquamarine
Case Keys.Delete
Me.BackColor = Color.BlanchedAlmond
End Select
End If
Select Case e.KeyCode
Case Keys.F10
Me.BackColor = Color.Cornsilk
End Select
C#
if (e.Shift == true && e.Alt == true)
{
switch (e.KeyCode)
{
case Keys.D:
this.BackColor = Color.Aquamarine;
break;
case Keys.Delete:
this.BackColor = Color.BlanchedAlmond;
break;
}
}
switch (e.KeyCode)
{
case Keys.F10:
this.BackColor = Color.Cornsilk;
break;
}
تذکر: بخش سبز کدهای بالا به صورت ترکیبی با کلید های Shift , Alt ساخته میشود ولی بخش بنفش به صورت مستقل با زدم کلید F10 اجرا میشود.
تذکر مهم: این کدها فقط بر روی فرم نوشته است باید به همه کنترلهایی که میخواهید کلید در آنها اجرا شود انتقال دهید در VB میشود با اضافه نمودن کنترولهای TextBox1.KeyUp, Button1.KeyUp در بخش Handles فرم مشکل را حل نمایید و در C میتوانید به صورت یک Function عمل نمایید.
این رویداد در زمانی اجرا میشود که متد Invalidate اجرا گردد.
مثال:
1- یک پروژه با یک دکمه بر روی فرم ایجاد نمایید.
2- در رویداد Invalidated کنترل Form کد زیر را قرار دهید.
VB
Dim messageBoxVB As New System.Text.StringBuilder()
messageBoxVB.AppendFormat("{0} = {1}", "InvalidRect", e.InvalidRect)
messageBoxVB.AppendLine()
MessageBox.Show(messageBoxVB.ToString(), "Invalidated Event")
C#
System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();
messageBoxCS.AppendFormat("{0} = {1}", "InvalidRect", e.InvalidRect );
messageBoxCS.AppendLine();
MessageBox.Show(messageBoxCS.ToString(), "Invalidated Event" );
3- بر روی دکمه کد زیر را قرار دهید و برنامه را اجرا نمایید.
نکته: این فرمان دو بار در هنگام اجرای Form اجرا میگردد.
در تمامی مراجع مختلف برنامه نویسی مطالعه کردم و در همه آنها نوشته شده بود این رویداد قبل از رویداد InputLanguageChanged اجرا شده و اطلاعاتی در مورد زبان سیستم به ما میدهد. اما هر چه خواستم از این رویداد استفاده کنم برنامه هیچ نمایشی را انجام نداد.
عملا خود سایت MSDN کد زیر را در رویداد InputLanguageChanging قرار داد و سپس تنها نوشته مطمئن باشید این رویداد فراخوانی شود این در صورتی است که نوشته نشده چطور این امر اتفاق میافتد.
این رویداد شامل 4 خروجی میباشد که در زیر مشاهده مینمایید
VB
Dim messageBoxVB as New System.Text.StringBuilder()
messageBoxVB.AppendFormat("{0} = {1}", "InputLanguage", e.InputLanguage)
messageBoxVB.AppendLine()
messageBoxVB.AppendFormat("{0} = {1}", "Culture", e.Culture)
messageBoxVB.AppendLine()
messageBoxVB.AppendFormat("{0} = {1}", "CharSet", e.CharSet)
messageBoxVB.AppendLine()
MessageBox.Show(messageBoxVB.ToString(),"InputLanguageChanged Event")
C#
System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();
messageBoxCS.AppendFormat("{0} = {1}", "InputLanguage", e.InputLanguage );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Culture", e.Culture );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "CharSet", e.CharSet );
messageBoxCS.AppendLine();
MessageBox.Show(messageBoxCS.ToString(), "InputLanguageChanged Event" );
این رویداد زمانی اجرا میشود که زبان سیستم تغییر نماید به زبان ساده شما میتوانید در این رویداد کدهایی را بنویسید تا با تغییر زبان اجرا شود. مثلا بر روی رویداد InputLanguageChanged کنترل Form یک MessageBox ساده را قرار دهید حال برنامه را اجرا نموده و با کلیدهای Alt+Shift زبان را تغییر دهید
این رویداد زمانی اجزا میگردد که خاصیت ImeMode در کنترل تغییر نماید.
تدکر: این رویداد روی بسیاری از کنترل ها کار نمیکند پس تلاش بی نتیجه نکنید. کنترلهایی مثل Form و Panel میتوانند از این رویداد استفاده نمایند.
این رویداد برای کنترل دکمه F1 استفاده میشود و متن درون Tag را به صورت Help نمایش میدهد.
مثال:
1- پروژه ای اجرا نموده و یک Textbox و Label درون آم قرار بدهید
2- بر روی خاصیت Tag کادر Textbox هر جمله ای را که میخواهید بنویسید.
3- در روی رویداد HelpRequested کنترل Textbox کد زیر را وارد نمایید.
VB
Dim requestingControl As Control = CType(sender, Control)
Label1.Text = CStr(requestingControl.Tag)
hlpevent.Handled = True
C#
Control requestingControl = (Control)sender;
Label1.Text = Convert.ToString(requestingControl.Tag);
hlpevent.Handled = true;
4- پروژه را اجرا نموده و سپس در Textbox قرار گرفته حال بر روی کلید F1 کلیک نمایید.
این رویداد زمانی اجرا میگردد که یک کنترل در حال حذف شدن باشد و برای درک آن باید کد زیر را دنبال نمایید.
مثال:
1- پروژه ای را با دو فرم بسازید و بر روی هر دو فرم یک دکمه قرار دهید
2- بر روی دکمه فرم اول کد زیر را بنویسید
Form3.ShowDialog()
3- بر روی دکمه فرم دوم کد زیر را وارد نمایید
Me.Close()
4- بر روی رویداد HandleDestroyed کنترل Button فرم دوم کد زیر را وارد نمایید.
MessageBox.Show("مهندس میثم حبیبی")
حال پروژه را اجرا نمایید و با کلیک بر روی دکمه فرم اول به فرم دوم بروید. حال روی دکمه فرم دوم یا روی دکمه Close فرم دوم کلیک نمایید. با بسته شدن فرم متن MessageBox نمایان میگردد. با از بین رفتن و بسته شدن فرم کنترل BUtton هم حذف میشد و باعث اجرای این رویداد میگردد.
تذکر: این مطلب صرفا برای آموزش میباشد و حرفه ای ها میدانند با رویداد های دیگه میشود این رویداد را تا حدودی انجام داد البته کاربردهایی دارد که حرفه ای ها آن را دانسته و استفاده مینمایند.
این رویداد زمانی اجرا میگردد که یک کنترل بر روی Form خلق شود برای درک بیشتر به روش زیر عمل نمایید.
مثال:
1- یک پروژه ساخته و بر روی آن یک Button و TextBox وارد نمایید و سپس خاصیت Visible در کنترل TextBox را برابر با False قرار دهید
2- حال بر روی Button کد زیر را وارد نمایید
Me.BackColor = Color.AliceBlue
3- حال در رویداد HandleCreated در کنترل TextBox کد زیر را وارد نمایید
TextBox1.Visible = True
پروژه را اجرا نمایید. همانطور که میبیند با فشردن دکمه رنگ فرم تغییر مینماید زیرا کادر متن ظاهر شده و با ساخته شدن آن رنگ فرم تغییر مینماید
رویداد GotFocus زمانی اجرا میشود که کرسل نشانگر تایپ وارد یک بخش یا کنترلی شود و رویداد LostFocus زمانی اجرا میشود که کرسل نشانگر تایپ از آن کنترل خارج گردد.
مثال:
VB
1- پروژه ای را شروع و سه کادر متن را روی آن قرار دهید
2- حال بر روی رویداد GotFocus کادر متن اول کد زیر را قرار دهید
sender.BackColor = Color.GreenYellow
3- حال بر روی رویداد LostFocus کادر متن اول کد زیر را قرار دهید
sender.BackColor = Color.White
تذکر: همانطور که مشاهده میکنید بجای Textbox1 از کلمه sender استفاده شده است حال به کد زیر دقت کنید
Private Sub TextBox1_GotFocus(sender As Object, e As EventArgs) Handles TextBox1.GotFocus, TextBox2.GotFocus, TextBox3.GotFocus
در انتهای بخش Handles در TextBox1 کنترل ها و رویداد TextBox2.GotFocus, TextBox3.GotFocus را اضافه نمایید و همینطور برای رویداد LostFocus هم همانند زیر عمل کنید
Private Sub TextBox1_LostFocus(sender As Object, e As EventArgs) Handles TextBox1.LostFocus, TextBox2.LostFocus, TextBox3.LostFocus
این امر باعث میشود تا با اینکه کد روی کادر متن اول نوشته شده است ولی برای همه کادرها اجرا گردد بهتر بگویم برای همه کنترلها در بخش Handles اجرا میگردد.
حال برنامه را اجرا نمایید.
C#
تمام کدهای بالا را به صورت مجزا روی دو رویداد قرار دهید. این بدان معنا میباشد که 3 کد GotFocus روی سه کادر متن و سه رویداد LostFocus روی سه کادر متن قرار دهید و نتیجه را بررسی نمایید
این رویداد کمی درکش سخت میباشد و باید در برنامه ای با کدهای مختلف آن را درک نمود.
عملا این رویداد در فرایند کشیدن و رها کردن (Drag and Drop) درون فرم اجرا میگردد آن هم زمان Drag کردن. یعنی تا زمانی که کلیک موس پایین باشد حتی موس حرکت نکند باز این رویداد در حال اجرا می باشد.
این رویداد زمانی اجرا میشود که خاصیت ForeColor یا همان رنگ متن در کنترلی که کد در آن نوشته شده است با دستور در برنامه تغییر کند.
این رویداد زمانی اجرا میشود که خاصیت Font در کنترلی که کد در آن نوشته شده است با دستور در برنامه تغییر کند.
این دو رویداد زماین اجرا میشوند که شما بر روی یک کنترل وارد یا خارج شوید. برای درک درست پروژه زیر را انجام دهید
مثال:
1- یک پروژه با دو کادر متن ایجاد نمایید
2- در رویدادEnter کنترل TextBox1 کد های زیر را وارد نمایید
VB
If TextBox1.Text <> "" Then
TextBox1.ForeColor = Color.Red
TextBox1.BackColor = Color.Black
TextBox1.Select(TextBox1.Text.Length, 0)
End If
C#
if (TextBox1.Text != "")
{
TextBox1.ForeColor = Color.Red;
TextBox1.BackColor = Color.Black;
TextBox1.Select(TextBox1.Text.Length, 0);
}
3- در رویدادLeave کنترل TextBox1 کد های زیر را وارد نمایید
VB
TextBox1.ForeColor = Color.Black
TextBox1.BackColor = Color.White
TextBox1.Select(0, 0)
C#
TextBox1.ForeColor = Color.Black;
TextBox1.BackColor = Color.White;
TextBox1.Select(0, 0);
حال پروژه را اجرا نمایید در کادر اول یک متن بنویسید به کادر دو بروید و بعد به کارد اول برگردید مشاهده میکنید رنگ ها تغییر نمود و با خروج از کادر متن زنگها به حالت عادی باز می گردد