11-мавзу. Мулоқот ойналари билан ишлаш
Мулоқот ойналари бошқариш элементлари
Download 0.76 Mb. Pdf ko'rish
|
11мавзу
- Bu sahifa navigatsiya:
- 1.Show(String) фкнуцияси
Мулоқот ойналари бошқариш элементлари. Бунда интерактив мулоқт қилиш
ойналари тушинилади. Уларни яратиш ва бошқариш дастурчининг хохишига қараб амалга оширилади. Юқорида айтиб ўтганимиздек, Visual C++ да MessageBox синфи ҳақида юқоридага айтиб ўтган эдик. Унда 21 та турли комбинацияли show функциячи бордигини ҳам. Шунинг бу функциялар ва уларнинг параметрлари ҳамда параметрларининг қийматлари тўғриси маълумотларни ва мулоқот ойналарини яратишга ва ишлов беришга эътиборни қаратамиз. 1.Show(String) фкнуцияси. Бир аргументли функция бўлиб, белгиланган матн билан хабар кўрсатадиган мулоқот ойнасини яратиш учун ишлатилади. Унинг киручи параметри System::String типида бўлиб, System::Windows::Forms::DialogResult типидаги қиймат қайтаради. if ( MessageBox ::Show( "Bu oddiy sohow" ) == System::Windows::Forms:: DialogResult :: OK ) this ->Close(); 2.Show(IWin32Window, String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions, String, String) функцияси. Бу кўп парамерли бўлиб, белгиланган паоаметлар асосида интерактив мулоқот ойнасини яратиш учун ишлатилади. Параметлари қуйидаги қийматлари қабал қилади. IWin32Window Interface - System.Windows.Forms номлар фазоси ва System.Windows.Forms.dll кутубхонасидан фойдаланиб, Win32 HWND ни жорий қилиш интерфейси беради. IWin32Window синф интерфейсидан меросхўр олади. System.Windows.Forms.Control ва System.Windows.Forms.NativeWindow умумий рухсат синфлари интерфейсларини ишлатади, қийматлар сифатида ComVisibleAttribute, GuidAttribute, InterfaceTypeAttribute типларини ишлатади. MessageBoxButtons - Enum типидаги параметрдир. System.Windows.Forms номлар фазоси ва System.Windows.Forms.dll кутубхонасидан фойдаланади. Мулоқот ойналарида кўрсатилиши керак бўлган тугмаларни аниқлайди. Қийматлари public enum class MessageBoxButtons таълуқлидир. 11.6-жадвал.MessageBoxButtons қабул қилувчи қийматлар № Қиймат номи вазифаси 1 AbortRetryIgnore Мулоқот ойнасида Abort, Retry Ignore тугмаларини ўрнатиш 2 OK Мулоқот ойнасида OK тугмасини ўрнатиш 3 OKCancel Мулоқот ойнасида OK ва Cancel тугмаларини ўрнатиш 4 RetryCancel Мулоқот ойнасида Retry ва Cancel тугмаларини ўрнатиш 5 YesNo Мулоқот ойнасида Yes ва No тугмаларини ўрнатиш 6 YesNoCancel Мулоқот ойнасида Yes, No ва Cancel тугмаларини ўрнатиш Мулоқот ойнасига MessageBoxButtons тугмаларини ўрнатиш дастур фрагменти: if (( MessageBox ::Show( "Joriy oynani yopishni xoxlaysizmi?" , "Xabar" , MessageBoxButtons :: YesNo ) == System::Windows::Forms:: DialogResult :: Yes )){ this ->Close(); } MessageBoxIcon – Enum типидаги объект бўлиб, у ҳам юқоридагидек, номлар фазоси ва кутубхона билан ишлайди. Мулоқот ойнасида кўрсатиш учун мулоқот ойналарининг турларини белгиловчи константаларни аниқлайди. 11.7-жадвал. MessageBoxIcon қабул қилувчи қийматлар № Қиймат номи белгиси вазифаси 1 Asterisk Қандайдир ҳодиса ҳақида фақат хабар берувчи мулоқот ойнаси учун иконка 2 Error Қандайдир ҳодиса ҳақида фақат хато амал бажарилганлиги ҳақида маълумот берувчи мулоқот ойнаси учун иконка 3 Exclamation Қандайдир ҳодиса ҳақида фақат огоҳлантириш ҳақида маълумот берувчи мулоқот ойнаси учун иконка. 4 Hand Қандайдир ҳодиса ҳақида фақат хато амал бажарилганлиги ҳақида маълумот берувчи мулоқот ойнаси учун иконка 5 Information Қандайдир ҳодиса ҳақида фақат хабар берувчи мулоқот ойнаси учун иконка 6 None Иконкасиз мулоқот ойнаси учун 7 Question Қандайдир ҳодиса ҳақида фақат саволга жавоб олувчи мулоқот ойнаси учун иконка 8 Stop Қандайдир ҳодиса ҳақида фақат хато амал бажарилганлиги ҳақида маълумот берувчи мулоқот ойнаси учун иконка 9 Warning Қандайдир ҳодиса ҳақида фақат огоҳлантириш ҳақида маълумот берувчи мулоқот ойнаси учун иконка. MessageBoxIcon ни ишлатиш учун жорий формани ёпиш учун мулоқот ойнани ишлатиш учун дастур фрагментини келтирамиз. Бунинг учун форманинг FormClosing ҳодисасига қуйидаги дастур фрагментини ёзамиз: System:: Void Form1_FormClosing(System:: Object ^ sender , System::Windows::Forms:: FormClosingEventArgs ^ e ) { if (( MessageBox ::Show( "Joriy oynani yopishni xoxlaysizmi?" , "Xabar" , MessageBoxButtons :: YesNo , MessageBoxIcon :: Exclamation ) == System::Windows::Forms:: DialogResult :: No )){ e ->Cancel = true ; } } Дастур фрагментида ҳодисанинг тўлиқ ёзилиши келтирилгганлигининг сабаби унда ҳодисага ишлрв берилган. 11.9-расм. MessageBoxIcon билан мулоқот ойнасини яратиш. Мазкур ойнада йўқ тугмаси босилса, форма ёпилмайди ва аксинча ҳа тугмаси босилса, форма ёпилади. MessageBoxDefaultButton - Enum типидаги объект бўлиб, у ҳам юқоридагидек, номлар фазоси ва кутубхона билан ишлайди. Мулоқот ойнасида стандарт тугмаларни ўрнатувчи ўзгармасларни белгилайди. 11.8-жадвал. MessageBoxDefaultButton қабул қилувчи қийматлар № Қиймат номи вазифаси 1 Button1 Мулоқот ойнасида старндарт биринчи тугмани жорий тугма сифатида ўрнатиш 2 Button2 Мулоқот ойнасида старндарт иккинчи тугмани жорий тугма сифатида ўрнатиш 3 Button3 Мулоқот ойнасида старндарт учинчи тугмани жорий тугма сифатида ўрнатиш Тугма босилганда формани ёпишни сўраш мулоқот ойнасини яратиш дастур фрагментини келтирамиз. String ^ message = "Joriy oynani yopishni xoxlaysizmi?" ; String ^ caption = "Xabar" ; MessageBoxButtons buttons = MessageBoxButtons :: YesNo ; System::Windows::Forms:: DialogResult result; System::Windows::Forms:: DialogResult mayli = System::Windows::Forms:: DialogResult :: Yes ; result = MessageBox ::Show( this , message, caption, buttons, MessageBoxIcon :: Question , MessageBoxDefaultButton :: Button2 ); if ( result == mayli ) { this ->Close(); } Одатда тугмаларнинг фарқини аниқлаш анча мураккаб, агар ОТ маска бўлса, фарқлаш мумкин. MessageBoxOptions - Enum типидаги объект бўлиб, у ҳам юқоридагидек, номлар фазоси ва кутубхона билан ишлайди. Мулоқот ойнасида стандарт хусусиятларни ўрнатиш учун фойдаланилади. № Қиймат номи вазифаси 1 DefaultDesktopOnly Оддий мулоқот ойналарига ўхшайди аммо фаол ишчи майдонда кўрсатилади. 2 RightAlign Мулоқот онйнасининг маълумотини тўғри жойлаштириш 3 RtlReading Мулоқот ойнасида маълумотни ўнгдан чапга қараб ўқиш учун мослаб жойлаштириш. 4 ServiceNotification Оддий мулоқот ойналарига ўхшайди аммо фаол ишчи майдонда кўрсатилади ва жавоб бермасдан ўтиб кетиш мумкин хусусияти мавжуд Тугма босилганда формани ёпишни сўраш мулоқот ойнасини яратиш дастур фрагментини келтирамиз. String ^ message = "Joriy oynani yopishni xoxlaysizmi?" ; String ^ caption = "Xabar" ; MessageBoxButtons buttons = MessageBoxButtons :: YesNo ; System::Windows::Forms:: DialogResult result; System::Windows::Forms:: DialogResult mayli = System::Windows::Forms:: DialogResult :: Yes ; result = MessageBox ::Show( this , message, caption, buttons, MessageBoxIcon :: Question , MessageBoxDefaultButton :: Button1 , MessageBoxO ptions :: RtlReading ); if ( result == mayli ) { this ->Close(); } Дастур фрагментини ишлатиб кўриб, натижасини таҳлил қилиш ва нималарни ўнгдан чапга қараб ўқиш ўзгарганини кўриш мумкин. 11.10-расм. MessageBoxOptions билан мулоқот ойнасини яратиш. Барча мулоқот ойналари каби юқорида келтирилган дастур фрагментларидан кўриниб турибдики, DialogResult типини қайтаради. 3. Show(IWin32Window, String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions, String, String) функцияси. Бу функцияга ёрдам файли ва ички индекс файлларга кўрсаткич яратади. String ^ message = "Joriy oynani yopishni xoxlaysizmi?" ; String ^ caption = "Xabar" ; MessageBoxButtons buttons = MessageBoxButtons :: YesNo ; System::Windows::Forms:: DialogResult result; System::Windows::Forms:: DialogResult mayli = System::Windows::Forms:: DialogResult :: Yes ; result = MessageBox ::Show( this , message, caption, buttons, MessageBoxIcon :: Question , MessageBoxDefaultButton :: Button1 , MessageBoxO ptions :: RightAlign , "d:\tut.chm" , HelpNavigator :: KeywordIndex , "iv" ); if ( result == mayli ) { this ->Close(); } Дастур фрагментини ишлатиб кўриб, натижасини таҳлил қилиш ва нималарни ўзгарганини кўриш мумкин. 11.11-расм. Ёрдам тугмали мулоқот ойнасини яратиш. Дастур фрагментида эътибор билан қарасангиз, MessageBoxButtons::YesNo тшлатилган, аммо, мулоқот ойнасида 3 та тугма чиққан, демак ёрдам тугмасининг фаол ҳолатга келганининг кўриш мумкин. Show усулининг бошқа янги параметрларни қабул қилмаганлиги учун уларни ёзилиши ва дастур фрагментларидан келтирамиз. 4.Show(IWin32Window, String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions, String) result = MessageBox ::Show( this , message, caption, buttons, MessageBoxIcon :: Question , MessageBoxDefaultButton :: Button1 ,( MessageBox Options )0, "d:\tut.chm" , HelpNavigator :: KeywordIndex , "iv" ); 5.Show(String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions, String, HelpNavigator) System::Windows::Forms:: DialogResult r3 = MessageBox ::Show( message, caption, MessageBoxButtons :: OK , MessageBoxIcon :: Question , MessageBoxDefaultButton :: Button1 , ( MessageBoxOptions )0, "mspaint.chm" , HelpNavigator :: Index ); 6.Show(String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions, String, String) System::Windows::Forms:: DialogResult r7 = MessageBox ::Show(message, caption, MessageBoxButtons :: OK , MessageBoxIcon :: Question , MessageBoxDefaultButton :: Button1 , ( MessageBoxOptions )0, "mspaint.chm" , "mspaint.chm::/paint_brush.htm" ); 7.Show(IWin32Window, String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions) result = MessageBox ::Show( this , message, caption, buttons, MessageBoxIcon :: Question , MessageBoxDefaultButton :: Button1 , MessageBoxOptions :: RightAlign ); 8.Show(String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions, String) System::Windows::Forms:: DialogResult r1 = MessageBox ::Show( " message, caption, MessageBoxButtons :: OK , MessageBoxIcon :: Question , MessageBoxDefaultButton :: Button1 , ( MessageBoxOptions )0, "mspaint.chm" ); 9.Show(String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions, Boolean) System::Windows::Forms:: DialogResult r = MessageBox ::Show(message, caption, MessageBoxButtons :: OK , MessageBoxIcon :: Question , MessageBoxDefaultButton :: Button1 , ( MessageBoxOptions )0, true ); 10.Show(IWin32Window, String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions, String, HelpNavigator) System::Windows::Forms:: DialogResult r4 = MessageBox ::Show( this , message, caption, MessageBoxButtons :: OK , MessageBoxIcon :: Question , MessageBoxDefaultButton :: Button1 , ( MessageBoxOptions )0, "mspaint.chm" , HelpNavigator :: Index ); 11.Show(IWin32Window, String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton) result = MessageBox ::Show( this , message, caption, buttons, MessageBoxIcon :: Question , MessageBoxDefaultButton :: Button1 , MessageBoxOptions :: RightAlign ); 12.Show(IWin32Window, String, String, MessageBoxButtons, MessageBoxIcon) result = MessageBox ::Show( this , message, caption, buttons, MessageBoxIcon :: Question ); 13.Show(String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton) result = MessageBox ::Show( this , message, caption, buttons, MessageBoxIcon :: Question , MessageBoxDefaultButton :: Button1 ); 14.Show(IWin32Window, String, String, MessageBoxButtons) result = MessageBox ::Show( this , message, caption, buttons); 15.Show(String, String, MessageBoxButtons, MessageBoxIcon) result = MessageBox ::Show(message, caption, buttons, MessageBoxIcon :: Question ); 16.Show(IWin32Window, String, String) result = MessageBox ::Show( this , message, caption); 17.Show(IWin32Window, String) result = MessageBox ::Show( this , message); 18.Show(String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions) result = MessageBox ::Show( this , message, caption, buttons, MessageBoxIcon :: Question , MessageBoxDefaultButton :: Button1 , MessageBoxOptions :: RightAlign ); 19.Show(IWin32Window, String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions, String, HelpNavigator, Object) System::Windows::Forms:: DialogResult r6 = MessageBox ::Show( this , message, caption, MessageBoxButtons :: OK , MessageBoxIcon :: Question , MessageBoxDefaultButton :: Button1 , ( MessageBoxOptions )0, "mspaint.chm" , HelpNavigator :: KeywordIndex , "ovals" ); Бу усулларни .NET 5 Preview 1, .NET Core 3.1 3.0 ва .NET Framework 4.8, 4.7.2, 4.7.1, 4.7, 4.6.2, 4.6.1, 4.6, 4.5.2, 4.5.1, 4.5, 4.0, 3.5, 3.0, 2.0, 1.1 каби варинтларда қўллаб қуватланади. Download 0.76 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling