این رویداد زمانی اجرا میشود که خاصیت Font در کنترلی که کد در آن نوشته شده است با دستور در برنامه تغییر کند.
این رویداد زمانی اجرا میشود که خاصیت 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);
حال پروژه را اجرا نمایید در کادر اول یک متن بنویسید به کادر دو بروید و بعد به کارد اول برگردید مشاهده میکنید رنگ ها تغییر نمود و با خروج از کادر متن زنگها به حالت عادی باز می گردد
این رویداد بر روی هر کنترلی نوشته شود با تغییر خاصیت Enabled همان کنترل اجرا میگردد.
مثلا شما کد را روی خاصیت Enabled دکمه اول نوشته و سپس با کمک یک دکمه دیگر کدی را بنویسید که خاصیت Enabled دکمه اول را تغییر دهد. حا خواهبد دبد کدهای مورد نظر اجرا میگردد.
این رویداد زمانی اجرا میگردد که فایل یا کنترلی که کشیده شده است بر روی کنترلی که روی آن کد نویسی شده است رها شود.
این رویداد همانند رویداد DragEnter عمل مینماید با این تفاوت که زمانی رخ میدهد که هر فرآیندی فرم یا کنترل را ترک نماید.
مثلا:
فرض نمایید از روی فرم بخشی را با کشیدن و رها نمودن روی Desktop ذخیره صورت گیرد. مانند اینکه عکسی را از روی فرم کشیده و روی دسکتاپ رها نمایید و تبدیل به فایل عکس شود. باید کدهای ذخیره سازی روی این رویداد نوشته شود
این رویداد زمانی ورود فایل در محدوده کنترل روی خواهد داد و کدهایی که در این بخش نوشته میشود عملا کارشان کنترل ورودی می باشد.
برای درک بهتر رویداد DragDrop را مطالعه نمایید
این رویداد زمانی اجرا میشود که فایلی از سیستم به صورت کشیدن و رها کردن در فرم یا کنترلی خواص ارسال گردد.
برای اینکه بتوانید این رویداد را درک نمایید به روش زیر عمل کنید
1- بر روی فرم یک کنترل Panel اضافه نمیادد و خاصیت AllowDrop آن را برابر با True نمایید
2- بر روی رویدادDragEnter کنترل Panel کد زیر را قرار دهید
VB.Net
If e.Data.GetDataPresent(DataFormats.FileDrop) Then
e.Effect = DragDropEffects.Copy
Else
e.Effect = DragDropEffects.None
End If
C#
if (e.Data.GetDataPresent(DataFormats.FileDrop))
e.Effect = DragDropEffects.Copy;
else
e.Effect = DragDropEffects.None;
3- خال در رویداد DragDrop در کنترل Panel کد زیر را اضافه نمایید
VB.Net
MessageBox.Show("کدهای اصلی را وارد نمایید")
C#
MessageBox.Show("کدهای اصلی را وارد نمایید");4- برنامه را اجرا نموده و سپس هر فایل را از روی فرم بر روی Panel کشیده و رها کنید
حال خواهید دید برنامه پیام روی MessageBox را اجرا مینماید.
نکته: برای اجرای درست باید در بخش رویداد DragDrop کدهای اصلی را بنویسید مثلا میخواید فایل صوتی اجرا نمایید باید کدهای پخش موسیقی را قرار دهید
این رویداد زمانی رخ خواهد داد که بر روی کنترل دوبار کلیک پشت هم انجام دهید.
تذکر: این رویداد با اینکه در بسیاری از کنترلها وجود دارد اما در برخی از آنها کار نمیکند لذا با دیدن این نکته تعجب نکنید.
نکته: سرعت دوبار کلیک با بخش Mouse در کنترل پنل تنظیم میگردد.
ابتدا باید خاصیت Dock را مطالعه نموده و بشناسید
حال این رویداد زمانی که با کد خاصیت Dock کنترل مورد نظر را تغییر دهید روی میدهد.
این رویداد یکی از بی کاربرد ترین رویداد ها میباشد و زمانی اجرا میشود که کنترلی از فرم بیرون انداخته شده باشد
نکته: Dispose = بیرون انداخته شده
1- برای درک این رویداد یک فرم با یک Label و Button ایجاد نمایید
2- بر روی دکمه کد زیر را بنویسید
VB.Net
Label1.Dispose()
C#
Label1.Dispose();
3- حال در رویداد Disposed روی لیبل کد زیر را وارد نمایید
VB.Net
Me.BackColor = Color.DarkRed
C#
this.BackColor = Color.DarkRed;
حال برنامه را اجزا و روی دکمه کلیک نمایید همانگونه که مشاهده مینمایید دکمه از روی فرم بیرون انداخته شده و متد Dispose آن اجرا می شود. همین باعث شده رویداد Disposed در کنترل Label اجرا شده و رنگ فرم تغییر نماید. امیدوارم توانسته باشم این رویداد را با درک کامل معرفی نمایم.
این رویداد زمانی اجرا میشود که کاربر از تمرکز روی قرم موجود خارج گردد به طور مثال از فرمی که روی آن هستید بروید روی یک فرم دیگر یا از فرومی که هستید خارج (بدون بستن فرم) و برنامه دیگری را باز نمایید این باعث میگردد رویداد Deactivate اجرا گردد.
نکته: کدهای زیادی در این رویداد نوشته میشد ولی میتوان برای مثال ذخیره سازی های موقت را نام برد
محلی سازی فرآیند ترجمه منابع یک برنامه کاربردی به نسخه های بومی سازی شده برای هر فرهنگی است که برنامه از آن پشتیبانی می کند. برای تأیید اینکه برنامه جهانی شده برای بومی سازی آماده است، تنها پس از تکمیل مرحله بررسی محلی سازی باید به مرحله بومی سازی بروید. برنامهای که برای محلیسازی آماده است به دو بلوک مفهومی تقسیم میشود:
بلوکی که شامل تمام عناصر رابط کاربر است و بلوکی که حاوی کدهای اجرایی است.
بلوک رابط کاربری فقط شامل عناصر رابط کاربری قابل بومی سازی مانند رشته ها، پیام های خطا، کادرهای محاوره ای، منوها، منابع شی جاسازی شده و غیره برای فرهنگ خنثی است.
بلوک کد فقط شامل کد برنامه است که باید توسط همه فرهنگ های پشتیبانی شده استفاده شود. زمان اجرا زبان رایج از مدل منبع مونتاژ ماهواره ای پشتیبانی می کند که کد اجرایی برنامه را از منابع آن جدا می کند. برای اطلاعات بیشتر در مورد پیاده سازی این مدل، به منابع در دات نت مراجعه کنید. برای هر نسخه بومیسازیشده برنامهتان، یک مجموعه ماهوارهای جدید اضافه کنید که حاوی بلوک رابط کاربری بومیشده ترجمه شده به زبان مناسب فرهنگ هدف است.
بلوک کد برای همه فرهنگ ها باید یکسان باقی بماند. ترکیب یک نسخه بومی سازی شده بلوک رابط کاربری با بلوک کد، یک نسخه بومی سازی شده از برنامه شما را تولید می کند.
تذکر: بهترین حالت این است که این بخش همواره برابر با False باشد
این رویداد زمانی اجرا می گردد که در هنگام اجرای برنامه خاصیت Cursor کنترل به کمک کد تغییر نماید.
خاصیت Cursor همان تغییر ظاهر اشاره گر موس می باشد.
توجه: برای استفاده از این رویداد ابتدا باید مطالب رویداد ControlAdded را اجرا نمایید تا کنترلی به فرم اضافه گردد و سپس این مطالب را مطالعه نمایید.
این رویداد زمانی اجرا می شود که یکی از کنترلهای روی فرم را با کد نویسی حذف نمایید.
طرزکار:
1- یک پروژه ایجاد نموده و بر روی آن یک دکمه قرار دهید.
2-کدهای زیر را در بخش Public فرم قرار دهید
VB
Private Sub Control_Removed(ByVal sender As Object, ByVal e As System.Windows.Forms.ControlEventArgs)
MessageBox.Show(("The control named " + e.Control.Name + " has been removed from the form."))
End Sub
#C
private void Control_Removed(object sender, System.Windows.Forms.ControlEventArgs e)
}
; MessageBox.Show(("The control named " + e.Control.Name + " has been removed from the form."))
{
3- کدهای زیر را بر روی دکمه قرار دهید.
VB
Dim tempCtrl As Control
For Each tempCtrl In Me.Controls
If tempCtrl.Name = "textBox1" Then
Me.Controls.Remove(tempCtrl)
End If
Next tempCtrl
#C
foreach (Control tempCtrl in this.Controls)
}
if (tempCtrl.Name == "textBox1")
}
;this.Controls.Remove(tempCtrl)
{
{
4- بر روی رویداد Load فرم کد زیر را قرار دهید.
VB
AddHandler Me.ControlRemoved, AddressOf Me.Control_Removed
#C
;this.ControlRemoved += this.Control_Removed
5- در رویداد ControlAdded فرم کد زیر را تایپ نمایید.
VB
"مهندس حبیبی"=Me.Text
#C
;"مهندس حبیبی"=Me.Text
با اجرای برنامه و حذف نمودن کنترل به کمک دکمه خواهید دید کلمه مهندس حبیبی بر روی نوار عنوان قرار می گیرد.
این رویداد زمانی اجرا میشود که یک کنترل بر روی فرم اضافه گردد. برای درک بیشتر به مثال زیر دقت نمایید.
مثال:
1- یک پروژه ایجاد نموده و بر روی آن یک دکمه قرار دهید.
2-کدهای زیر را در بخش Public فرم قرار دهید
VB
Private Sub Control_Added(ByVal sender As Object, ByVal e As System.Windows.Forms.ControlEventArgs)
MessageBox.Show(("The control named " + e.Control.Name + " has been added to the form."))
End Sub
#C
private void Control_Added(object sender, System.Windows.Forms.ControlEventArgs e)
}
;MessageBox.Show(("The control named " + e.Control.Name + " has been added to the form."))
{
3- کدهای زیر را بر روی دکمه قرار دهید.
VB
() Dim textBox1 As New TextBox
textBox1.Size = New Size(100, 10)
textBox1.Location = New Point(10, 10)
"textBox1.Name = "textBox1
Me.Controls.Add(textBox1)
#C
;()TextBox textBox1 = new TextBox
;textBox1.Size = new Size(100, 10)
; textBox1.Location = new Point(10, 10)
;"textBox1.Name = "textBox1
;this.Controls.Add(textBox1)
4- بر روی رویداد Load فرم کد زیر را قرار دهید.
VB
AddHandler Me.ControlAdded, AddressOf Me.Control_Added
#C
;this.ControlAdded += this.Control_Added
5- در رویداد ControlAdded فرم کد زیر را تایپ نمایید.
VB
"مهندس حبیبی" = Me.Text
#C
;"مهندس حبیبی" = this.Text
با اجرای برنامه و اضافه نمودن کنترل به کمک دکمه خواهید دید کلمه مهندس حبیبی بر روی نوار عنوان قرار می گیرد.
این رویداد زمانی اجرا می شود که مقدار خاصیت ContextMenuStrip کنترل تغییر نماید. به طور مثال اگر بر روی فرم دو ContextMenuStrip داشته باشیم و اولی را به فرم نسبت بدهیم و بر روی یک دکمه کدی را بنویسیم که دومی را به فرم نسبت دهد این رویداد برای فرم اجرا می شود.
این رویداد زمانی اجرا میشود که متد ContextMenu دچار تغییر شده یا ساخته شود. برای آنکه بتوانید این مطلب را درک نمایید لازم میدان تا توضیح کاملی را ارائه نمایم.
مثال:
1- پروژه ای را ساخته و یک Button روی آن قرار دهید.
2-در بخش Public فرم کدهای زیر را قرار دهید
:VB
()Public Sub AddContextmenu
() Dim m As New ContextMenu
Me.ContextMenu = m
() Dim menuItem1 As New MenuItem
() Dim menuItem2 As New MenuItem
" menuItem1.Text = "New
"menuItem2.Text = "Open
m.MenuItems.Add(menuItem1)
m.MenuItems.Add(menuItem2)
("منوها ساخته شد بر روی فرم راست کلیک نمایید")MessageBox.Show
End Sub
#C
()public void AddContextmenu
{
;() ContextMenu m = new ContextMenu
; this.ContextMenu = m
;()MenuItem menuItem1 = new MenuItem
;()MenuItem menuItem2 = new MenuItem
"menuItem1.Text = "New;
"menuItem2.Text = "Open;
; m.MenuItems.Add(menuItem1)
;m.MenuItems.Add(menuItem2)
;("منوها ساخته شد بر روی فرم راست کلیک نمایید") MessageBox.Show
}
3- بر روی دکمه کد زیر را قرار دهید.
VB
() Call AddContextmenu
#C
;()AddContextmenu
4- در رویداد ContextMenuChanged فرم کد زیر را قرار میدهید.
VB
"مهندس حبیبی" = Me.Text
#C
; "مهندس حبیبی" = this.Text
همانطور که مشاهده می نمایید با فشردن کلید کدهای ساخت ContextMenu اجرا گشته و بر روی فرم یک منو ایجاد می نماید که با کلیک راست نمودن روی فرم مشاهده می نمایید. چون این تغییر بر روی ContextMenu فرم انجام می شود باعث میگردد تا رویداد مورد نظر روی فرم اجرا شده و کدها اجرا گردیده و کلمه حبیبی روی نوارعنوان فرم چاپ شود.
این رویداد پیش از رویداد FormClosed اجرا می گردد و کدهایی که در این رویداد نوشته شود عملاً زمانی اجرا می شوند که فرم در حال بسته شدن است
این رویداد آخرین رویداد اجرایی در فرم می باشد. به طور کلی برای اجرای دستوراتی استفاده می شود که میخواهیم با بسته شدن فرم اجرا شود مانند کدهای ذخیره سازی در بانک .
این رویداد با اندکی تفاوت همانند رویداد Resize می باشد. اگر کدی در این رویداد نوشته شود با هر تغییر در اندازه صفحه اجرا می گردد. اما تفاوت آن با رویداد Resize در این است که همواره یکبار بیشتر اجرا می شود یعنی اگر در فرم های معمولی روی هر دو رویداد ClientSizeChanged و Resize کد بنویسید بدانید که پس از اجرای فرم رویداد ClientSizeChanged دو بار و Resize یک بار اجرا می شود. این درصورتی است که سیاست استفاده از رویداد ClientSizeChanged برای فرم های فرزند می باشد که در این فرم ها رویداد ClientSizeChanged یک بار اجرا می شود اما رویداد Resize اجرا نمی شود(فقط در اجرای اولین بار فرم). در کل پس از شروع کار در فرم با هر تغییر در اندازه فرم هز دو رویداد پا به پای هم احرا می شوند و تنها تفاوت آنها در احرای اول می باشد.
در اینجا لازم میدانم ابتدا BindingContext را به شما معرفی نمایم. این مِتُد برای دسترسی به ControlBindingsCollection و اضافه کردن و تغییر اشیاء در اتصال به مجموعه فرامین بانک می باشد. به کمک این فرمان می شود هر گونه دستور را از این طریق به بانک اطلاعاتی وصل نمود.
این رویداد زمانی که مِتُد BindingContext تغییر نماید اجراء می گردد.
این رویداد یک رویداد گزارشی می باشد. به طور کلی در برنامه های تخصصی مورد بررسی قرار گرفته و باعث می گردد تا برنامه نویس گزارشی از حالات مختلف صفحه کلید در دست داشته باشد و در صورتی که بخواهد برای هر حالت کد نویسی نماید از خروحی های این رویداد استفاده می نماید.
بطور مثال:
1- پروژه ای را ایجاد نمایید و یک کادر متن و دکمه درون آن قرار دهید.
2- بر روی رویداد ChangeUICues روی فرم قرار گرفته و کدهای زیر را بر روی آن وارد نمایید.
در زبان VB:
() Dim messageBoxVB As New System.Text.StringBuilder
messageBoxVB.AppendFormat("{0} = {1}", "ShowFocus", e.ShowFocus)
messageBoxVB.AppendLine()
messageBoxVB.AppendFormat("{0} = {1}", "ShowKeyboard", e.ShowKeyboard)
messageBoxVB.AppendLine()
messageBoxVB.AppendFormat("{0} = {1}", "ChangeFocus", e.ChangeFocus)
messageBoxVB.AppendLine()
messageBoxVB.AppendFormat("{0} = {1}", "ChangeKeyboard", e.ChangeKeyboard)
messageBoxVB.AppendLine()
messageBoxVB.AppendFormat("{0} = {1}", "Changed", e.Changed)
messageBoxVB.AppendLine()
MessageBox.Show(messageBoxVB.ToString(), "ChangeUICues Event")
در زبان #C:
System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder(); messageBoxCS.AppendFormat("{0} = {1}", "ShowFocus", e.ShowFocus ); messageBoxCS.AppendLine(); messageBoxCS.AppendFormat("{0} = {1}", "ShowKeyboard", e.ShowKeyboard ); messageBoxCS.AppendLine(); messageBoxCS.AppendFormat("{0} = {1}", "ChangeFocus", e.ChangeFocus ); messageBoxCS.AppendLine(); messageBoxCS.AppendFormat("{0} = {1}", "ChangeKeyboard", e.ChangeKeyboard ); messageBoxCS.AppendLine(); messageBoxCS.AppendFormat("{0} = {1}", "Changed", e.Changed ); messageBoxCS.AppendLine(); MessageBox.Show(messageBoxCS.ToString(), "ChangeUICues Event" );
3- پروژه را اجرا نمایید تا و نتیجه ای مانند شکل زیر را مشاهده نمایید.
این رویداد زمانی کاربرد دارد که کاربر خاصیت BackgroundImageLayout را درون کنترل مورد نظر تغییر دهد.
این رویداد زمانی اجرا میشود که شما بر روی کنترل مورد نظر کلیک نمایید.
این رویداد زمانی اجرا میشود که شما خاصیت CausesValidation را به کمک کد تغییر دهید اما این خاصیت چیست؟
این خاصیت مشخص می نماید که آیا با ارسال فرم به سمت سرور به سبب اعتبار سنجی انجام گیرد یا خیر میتوانید برخی از کنترلهایی را که نیاز به اعتبار سنجی ندارد را غیر فعال نمایید.
این رویداد زمانی اجرا میشود که شما خاصیت CausesValidation را به کمک کد تغییر دهید اما این خاصیت چیست؟
این خاصیت مشخص می نماید که آیا با ارسال فرم به سمت سرور به سبب اعتبار سنجی انجام گیرد یا خیر میتوانید برخی از کنترلهایی را که نیاز به اعتبار سنجی ندارد را غیر فعال نمایید.
این رویداد زمانی اجرا میشود که شما خاصیت AutoValidate را تغییر دهید اما این خاصیت چیست؟
برخی از برنامه نویسها به جای آنکه از کنترلها برای طراحی فرم استفاده نمایند ، با کد نویسی این عمل را انجام میدهند این خاصیت مشخص مینماید که آیا کدهای این نوع کنترلها فعال باشد یا خیر
از این رویداد زمانی استفاده می شود که می خواهیم کدهایی هنگام تغییر رنگ کنترل اجرا شود. بطور کلی اگر کدهایی در این رویداد در هر کنترلی نوشته شود پس از تغییر رنگ همان کنترل کدها اجرا می گردد.
این خاصیت زمانی اجرا می گردد که عکس پشت زمینه کنترل تغییر نماید. بطور کلی در صورت قرار گیری کد در این رویداد اگر کاربر با اجرای دستورالعملی عکس پشت زمینه را تغییر دهد کدهای این رویداد اجرا می گردد
اگر درون این رویداد کدی تایپ شود زمانی اجراء می گردد که کنترل مورد نظر خاصیت AutoSize را تغییر دهد به طور مثال اگر شما کد مورد نظر خود را درون بخش AutoSizeChanged یک فرم بنویسید در صورتی که خاصیت AutoSize را True و یا False نمایید این کدها اجراء می شود.