الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

صندوق الحوار Run

بدأه C++er في 24 أغسطس 2009 · 5 رد · 2,048 مشاهدة · في قسم الدروس والمواضيع المتميزة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

توجد العديد من Common Dialogs داخل ويندوز و لكن مايكروسوفت لسبب ما لم تضيف عنهم اى معلومات داخل الـ SDK و منهم هو صندوق الحوار Run الذى تجده داخل قائمة Start او يمكنك استخدامه من برنامج Task Manager و حيث انى كنت استخدمه داخل الـ VB6 لذا فقد صنعت Component للتعامل معه من داخل الـ Dot Net.

لتصنع Common Dialog خاص بك داخل Windows Forms تحتاج لان تورث الفئه CommonDialog و التى تتيح للمستخدم (المبرمج يعنى) بعض الدوال للتعامل معه.

Imports System.Runtime.InteropServices

Public Enum RunFlags
	''' <summary> Show Cancel - OK - Browse buttons and show last opened file path</summary>
	[Default] = &H0
	'''<summary> Removes the browse button </summary>
	NoBrowse = &H1
	''' <summary> No default item selected </summary>
	NoDefault = &H2
	'''<summray>show OK - Cancel buttons only</summray>
	OKCancel = &H3
	''' <summary> Removes the edit box label </summary>
	NoLabel = &H8
End Enum

Public Class RunDialog
	Inherits CommonDialog

	Private Declare Function SHRunDialog Lib "shell32.dll" Alias "#61" (ByVal hOwner As IntPtr, ByVal hIcon As IntPtr, ByVal Unkown As IntPtr, _
																		<MarshalAs(UnmanagedType.LPWStr)> ByVal szTitle As String, _
																		<MarshalAs(UnmanagedType.LPWStr)> ByVal szPrompt As String, ByVal uflags As RunFlags) As Integer

	Public Overrides Sub Reset()
		mTitle = vbNullString
		mPrompt = vbNullString
		mIcon = Nothing
		mFlags = 0
	End Sub

	Private mSelectedFile As String
	Public ReadOnly Property SelectedFile() As String
		Get
			Return mSelectedFile
		End Get
	End Property

	Protected Overrides Function RunDialog(ByVal hwndOwner As System.IntPtr) As Boolean
		Dim hIcon As IntPtr = IntPtr.Zero

		If mIcon IsNot Nothing Then hIcon = mIcon.Handle

		Return SHRunDialog(hwndOwner, hIcon, IntPtr.Zero, mTitle, mPrompt, mFlags) = 0

	End Function

	Private mIcon As Icon
	Public Property Icon() As Icon
		Get
			Return mIcon
		End Get
		Set(ByVal value As Icon)
			mIcon = value
		End Set
	End Property

	Private mTitle As String
	Public Property Title() As String
		Get
			Return mTitle
		End Get
		Set(ByVal value As String)
			mTitle = value
		End Set
	End Property

	Private mPrompt As String
	Public Property Propmpt() As String
		Get
			Return mPrompt
		End Get
		Set(ByVal value As String)
			mPrompt = value
		End Set
	End Property


	Private mFlags As RunFlags
	Public Property Flags() As RunFlags
		Get
			Return mFlags
		End Get
		Set(ByVal value As RunFlags)
			mFlags = value
		End Set
	End Property

End Class

ايضا مرفق الفئه اخر المشاركه.

للإستخدامها تكون مثلما تستخدم OpenFileDialog قم بوضع الأداه على الفورم (طبعا لاتنسى ان تقوم بعمل Build أولا حتى تستطيع استخدامها).

With RunDialog1
	.Title = "Open File"
	.Propmpt = "Select File to Open"
	.Flags = RunFlags.Default
	.Icon = Me.Icon
	.ShowDialog
End With

RunDialog.rar

و الله ولى التوفيق

مدونتي: C++ Tips and Tricks

#2

جزاك الله اخي محمد علاء خيرا ,

اتذكر اسالة تنشيط القسم التي قام بها الاخ Ghost2010

و حينها قام بوضع اسالة عن فتح ملف مهما كان نوعه بطريقتين غير الطريقتين المعروفات process.start , shell ....

حينها خطر على بالي استخدام فكرة ال Run Dialog و لكني لم افلح بكتابة او ايجاد الكود , و انت اتيتي به على طبق من ذهب , شو بدي

احسن من هيك مشكور اخي مرة اخرى

<EMBED src=http://www.abdelghafar.com/images/banners/bm2.swf width=486 height=60 type=application/x-shockwave-flash EMBED < menu="false" loop="true" quality="high">

#3
assaf_abdullah كتب:
جزاك الله اخي محمد علاء خيرا ,

اتذكر اسالة تنشيط القسم التي قام بها الاخ Ghost2010

و حينها قام بوضع اسالة عن فتح ملف مهما كان نوعه بطريقتين غير الطريقتين المعروفات process.start , shell ....

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#4
اقتباس
حينها خطر على بالي استخدام فكرة ال Run Dialog و لكني لم افلح بكتابة او ايجاد الكود , و انت اتيتي به على طبق من ذهب , شو بدي

عموما الـ RunDialog بيستخدم ShellExecute فى الخفاء

تم تعديل هذه المشاركة بواسطة Muhammad alaa في 24 أغسطس 2009 في 21:45

مدونتي: C++ Tips and Tricks

#5

السلام عليكــم ورحمـة الله وبركاتــه ،،

كمعلومة إضافية هذه طريقة أخرى لإظهار مربع الحوار Run بإعداداته الافتراضية

		Dim o As Object = CreateObject("Shell.Application")
		If o IsNot Nothing Then
			o.FileRun()
		End If

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#6

:thumb_up:

تم تعديل هذه المشاركة بواسطة Muhammad alaa في 25 أغسطس 2009 في 06:35

مدونتي: C++ Tips and Tricks

مواضيع مشابهة