04-10-12, 11:11 AM
كاتب الموضوع : أنس محمود
بسم الله الرحمن الرحيم ، والصلاة والسلام على اشرف المرسلين ، و خاتم النبيين ، وسيد الخلق اجمعين ، سيدنا محمد وعلى آله وصحبه أجمعين
اخواني الكرام ، السلام عليكم ورحمة الله وبركاته ،بسم الله الرحمن الرحيم ، والصلاة والسلام على اشرف المرسلين ، و خاتم النبيين ، وسيد الخلق اجمعين ، سيدنا محمد وعلى آله وصحبه أجمعين
قبل البدء ، أريد أن اقول بان شاشة التوقف ( أو حافظة الشاشة ) يمكن عملها بتغيير امتداد أي ملف تنفيذي ( بامتداد .exe ) إلى .scr ، ولكن لكي تعطي طابع حافظة الشاشة ، هناك عدة امور يجب اخذها في الاعتبار ، سنتناولها باذن الله تعالى :-
أولاً:- يجب ان يتكون المشروع النوافذي من نموذجين : الأول خاص بشاشة التوقف التي سيتم عرضها ، والثاني خاص بالإعدادت ،
ثانيا:- يجب تغيير بعض خصائص النموذج الخاص بشاشة التوقف كجعل النافذة بملئ الشاشة ، والغاء ظهور النموذج في شريط المهام ، .. الخ
ثالثاً :- في حدث MyApplication_Startup من احداث التطبيق يجب التفريق بالكود بين ماهو المطلوب من حافظة الشاشة ، ( بمعنى هل المطلوب عرض الحافظة ام نافذة الاعدادات ، ام التجربة ) أكتب الكود التالى :-
كود :
[color=#000000][COLOR=#0000bb][/color][color=#007700]If [/color][color=#0000bb]e[/color][color=#007700].[/color][color=#0000bb]CommandLine[/color][color=#007700].[/color][color=#0000bb]Count [/color][color=#007700]> [/color][COLOR=#0000bb]0 Then
Dim arg [/COLOR][color=#007700]As [/color][color=#0000bb]String [/color][color=#007700]= [/color][color=#0000bb]e[/color][color=#007700].[/color][color=#0000bb]CommandLine[/color][color=#007700]([/color][color=#0000bb]0[/color][color=#007700]).[/color][color=#0000bb]ToLower[/color][color=#007700]([/color][color=#0000bb]System[/color][color=#007700].[/color][color=#0000bb]Globalization[/color][color=#007700].[/color][color=#0000bb]CultureInfo[/color][color=#007700].[/color][color=#0000bb]InvariantCulture[/color][color=#007700]).[/color][color=#0000bb]Trim[/color][color=#007700]().[/color][color=#0000bb]Substring[/color][color=#007700]([/color][color=#0000bb]0[/color][color=#007700], [/color][color=#0000bb]2[/color][COLOR=#007700])
[/COLOR][color=#0000bb]Select [/color][color=#007700]Case [/color][COLOR=#0000bb]arg
[/COLOR][color=#007700]Case [/color][COLOR=#dd0000]"/c"
[/COLOR][color=#0000bb]Me[/color][color=#007700].[/color][color=#0000bb]MainForm [/color][color=#007700]= [/color][color=#0000bb]My[/color][color=#007700].[/color][color=#0000bb]Forms[/color][color=#007700].[/color][COLOR=#0000bb]OptionsForm
[/COLOR][color=#007700]Case [/color][COLOR=#dd0000]"/p"
[/COLOR][color=#0000bb]e[/color][color=#007700].[/color][color=#0000bb]Cancel [/color][color=#007700]= [/color][COLOR=#0000bb]True
[/COLOR][color=#007700]Case [/color][COLOR=#dd0000]"/s"
[/COLOR][color=#0000bb]Me[/color][color=#007700].[/color][color=#0000bb]MainForm [/color][color=#007700]= [/color][color=#0000bb]My[/color][color=#007700].[/color][color=#0000bb]Forms[/color][color=#007700].[/color][COLOR=#0000bb]ScreenSaverForm
[/COLOR][COLOR=#007700]Case Else
[/COLOR][color=#0000bb]MessageBox[/color][color=#007700].[/color][color=#0000bb]Show[/color][color=#007700]([/color][color=#dd0000]"Invalid command line argument :" [/color][color=#007700]+ [/color][color=#0000bb]arg[/color][color=#007700], [/color][color=#dd0000]"Invalid Command Line Argument"[/color][color=#007700], [/color][color=#0000bb]MessageBoxButtons[/color][color=#007700].[/color][color=#0000bb]OK[/color][color=#007700], [/color][color=#0000bb]MessageBoxIcon[/color][color=#007700].[/color][color=#0000bb]Error[/color][COLOR=#007700])
[/COLOR][COLOR=#0000bb]End Select
[/COLOR][COLOR=#007700]Else
[/COLOR][color=#0000bb]Me[/color][color=#007700].[/color][color=#0000bb]MainForm [/color][color=#007700]= [/color][color=#0000bb]My[/color][color=#007700].[/color][color=#0000bb]Forms[/color][color=#007700].[/color][COLOR=#0000bb]ScreenSaverForm
End [/COLOR][COLOR=#007700]If
[/COLOR][color=#0000bb][/color][/COLOR]
طبعا بالكود نختبر المعامل الموجود بسطر الاوامر :-
اذا كان c/ فهذا يعني ان المطلوب نافذة الاعدات ،
واذا كان s/ فهذا بعني ان المطلوب هو نموذج الحافظة
رابعا :- بالنسبة لنافذة الاعدادات ، فيفضل ان تقوم بحفظ الاعدادات عن طريق السلسلة ،
عند مراعاة هذه العناصر ، يمكنك صنع مابدا لك علي نموذج الحافظة
والان مع مثال ،
======> تابع ======>